日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Scala基础教程(九):提取器、文件I/O

發布時間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Scala基础教程(九):提取器、文件I/O 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模式匹配使用提取器:

當一個類的實例后跟括號使用零個或多個參數的列表,所述編譯器調用應用的方法在該實例上。我們可以定義同時適用對象和類。

如上述所提到的,unapply方法的目的是提取我們尋找一個特定的值。它相反的操作和apply一樣。當比較使用匹配語句中unapply方法的提取對象將被自動執行,如下所示:

object Test { ?? def main(args: Array[String]) { ????? ??????val x = Test(5) ????? println(x) ? ????? x match ????? { ???????? case Test(num) => println(x+" is bigger two times than "+num) ???????? //unapply is invoked ???????? case _ => println("i cannot calculate") ????? } ? ?? } ?? def apply(x: Int) = x*2 ?? def unapply(z: Int): Option[Int] = if (z%2==0) Some(z/2) else None }

讓我們編譯和運行上面的程序,這將產生以下結果:

C:/>scalac Test.scala C:/>scala Test 10 10 is bigger two times than 5 ? C:/>

?

?

Scala打開文件是利用Java對象和java.io.File,它們都可在Scala編程中用來讀取和寫入文件。以下是寫入文件的一個例子:

import java.io._ ? object Test { ?? def main(args: Array[String]) { ????? val writer = new PrintWriter(new File("test.txt" )) ? ????? writer.write("Hello Scala") ????? writer.close() ?? } }

當上面的代碼被編譯和執行,它會創建一個有“Hello Scala”內容的文件。

C:/>scalac Test.scala C:/>scala Test ? C:/>

從屏幕讀取一行:

有時需要從屏幕上讀取用戶輸入,然后進行某些進一步的處理。下面的例子說明了如何從屏幕上讀取輸入:

object Test { ?? def main(args: Array[String]) { ????? print("Please enter your input : " ) ????? val line = Console.readLine ????? ??????println("Thanks, you just typed: " + line) ?? } }

當上面的代碼被編譯和執行,它會提示輸入內容,并繼續進行,直到按ENTER(回車)鍵。

C:/>scalac Test.scala C:/>scala Test scala Test Please enter your input : Scala is great Thanks, you just typed: Scala is great ? C:/>

讀取文件內容:

從文件中讀取是非常簡單的。可以使用Scala的Source 類和它配套對象讀取文件。以下是這些顯示如何從之前創建“test.txt”文件中讀取內容的示例:

import scala.io.Source ? object Test { ?? def main(args: Array[String]) { ????? println("Following is the content read:" ) ? ????? Source.fromFile("test.txt" ).foreach{ ?????????print ??????} ?? } }

當上述代碼被編譯和執行時,它將讀取test.txt文件并在屏幕上顯示內容:

C:/>scalac Test.scala C:/>scala Test scala Test Following is the content read: Hello Scala ? C:/>from: http://www.yiibai.com/scala/scala_basic_syntax.html

總結

以上是生活随笔為你收集整理的Scala基础教程(九):提取器、文件I/O的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。