提供: tty00

移動: 案内検索
(構文)
(構文)
行97: 行97:
 
</source>
 
</source>
  
 +
 +
=== for文 ===
 +
<source lang=scala>
 +
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)
 +
 +
 +
</source>
  
 
<source lang=scala></source>
 
<source lang=scala></source>

2013年12月21日 (土) 09:08時点における版

変数と定数

  • 変数の定義
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
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") //要素にアクセスする
Mapのメソッド
メソッド 説明
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)