Scala_一般的な機能
1452 ワード
一、If...Else...
二、循環:While、For
①Whileループ:Scalaにはbreak文やcontinue文がなく、break機能を使用する必要がある場合:Boolean型の制御変数、ネスト関数からreturn、Breaksオブジェクトを使用するbreakメソッド
②Forサイクル:for(i
③アドバンスドforループ:'変数
三、異常:Exception throw式には特別なタイプのNothingがあります.これはif/else式で役立ちます.ブランチのタイプがNothingの場合、if/else式のタイプは別のブランチのタイプです.
四、Lazy valがlazyと宣言されたとき、その初期化は私たちが初めて値を取るまで延期されます.
五、正規表現Regexオブジェクトを構築するには、Stringクラスのrメソッドを使用します.正規表現にスラッシュまたは引用符が含まれている場合は、元の文字列構文を使用したほうがいいです.
val x = 5
val s = if (x > 0) 1 else -1 // s Int
val m = if (x > 0) "positive" else -1 // s String Int Any
// Scala , 。 else , :if (x > 0) 1 else () , 。() Unit
if (x > 0) 1
二、循環:While、For
①Whileループ:Scalaにはbreak文やcontinue文がなく、break機能を使用する必要がある場合:Boolean型の制御変数、ネスト関数からreturn、Breaksオブジェクトを使用するbreakメソッド
var n = 0
while (n < 10) {
println(n)
n += 1
}
②Forサイクル:for(i
for (i
③アドバンスドforループ:'変数
for (i
三、異常:Exception throw式には特別なタイプのNothingがあります.これはif/else式で役立ちます.ブランチのタイプがNothingの場合、if/else式のタイプは別のブランチのタイプです.
val q:Int = 10
if (q >= 0) {sqrt(q)} else throw new IllegalArgumentException("x should not be negative")
// Double, Nothing。 ,if/else Double
四、Lazy valがlazyと宣言されたとき、その初期化は私たちが初めて値を取るまで延期されます.
lazy val words= scala.io.Source.fromFile("words.txt") .mkString
// 。 lazy , , words,
五、正規表現Regexオブジェクトを構築するには、Stringクラスのrメソッドを使用します.正規表現にスラッシュまたは引用符が含まれている場合は、元の文字列構文を使用したほうがいいです.
val numPattern = "[0-9]+".r
val wsnumwsPattern = """\s+[0-9]+\s""".r
// findAllIn 。 for
for (matchString