提供: tty00
(→構文) |
(→構文) |
||
行136: | 行136: | ||
}while( i<10 ) | }while( i<10 ) | ||
</source> | </source> | ||
+ | |||
+ | === 例外処理 try、catch、finally === | ||
+ | <source lang=scala> | ||
+ | try{ | ||
+ | var z = 100/0 | ||
+ | }catch{ | ||
+ | case e => { println("exception!") } | ||
+ | |||
+ | }finally { | ||
+ | println("finally!") | ||
+ | } | ||
+ | |||
+ | //例外の発生 | ||
+ | throw new Exception("throw Exception!") | ||
+ | </source> | ||
+ | |||
<source lang=scala></source> | <source lang=scala></source> |
2013年12月21日 (土) 09:18時点における版
目次
変数と定数
- 変数の定義
var x:Int = 10
- 定数の定義
val x:Int = 10
配列
var xs1:Array[Int] = new Array[Int](10); var xs2:Array[Int] = Array[Int](1,2,3); var a = xs2(0) //要素にアクセスする,a = 1;
コメント
/* comment1 */ // comment2
コレクション
List
val xs1:List[Int] = List() val xs2:List[Int] = List(1,2,3) var a = xs2(0) //要素にアクセスする,a = 1; val xs3 = xs1 :: xs2 //Listを結合する。 val xs4 = Nil //空のList
メソッド | 説明 |
---|---|
head | Listの先頭要素を返す |
tail | Listの先頭要素を除く要素のListを返す |
isEmpty | Listが空であればtrueを返す |
length | Listのサイズを返す |
Map
val map = Map[String,Int]("key1"->1,"key2"->2,"key3"->3) val a = map("key1") //要素にアクセスする
メソッド | 説明 |
---|---|
empty | 空のMapを返す |
+ | 指定したキーと要素とペアを追加したMapを返す |
- | 指定したキーの要素を抜いたMapを返す |
size | Mapのサイズを返す |
keySet | キーのセットを返す |
values | Mapの値をIterableで返す |
Tuple
異なる型の要素を格納可能
val tuple = ("val1",10,"1234",200.0) tuple._1 //要素にアクセスする tuple._2 //要素にアクセスする tuple._3 //要素にアクセスする tuple._4 //要素にアクセスする
構文
条件文
Scalaのifは最後に評価された値を返す。
if( x > 5 ) println("true") else println("false") //else if文 if( x > 5 ){ println("x>5") }else if (x == 1){ println("x=1") }else{ println("else") }
for文
val xs = List(1,2,3,4,5) val ys = List(100,200,300,400,500) for( x <- xs; y <- ys){ println(x+y) } //フィルタ for( x <- xs if x>3){ println(x) } //yield、新しいコレクションの生成 val xs = List(1,2,3,4,5) val ys = for( x <-xs) yield x + 100 //ys = List(101, 102, 103, 104, 105)
while文
var i = 0 while( i<10 ){ println(i) i += 1 }
do-while文
var i = 0 do{ println(i) i += 1 }while( i<10 )
例外処理 try、catch、finally
try{ var z = 100/0 }catch{ case e => { println("exception!") } }finally { println("finally!") } //例外の発生 throw new Exception("throw Exception!")