Step by Step Scala [vol.02]@scala-be に行ってきた
- 脱線してもいいって楽
- ソース読む
- Emobile が繋りにくい
- 今回は繋がったので,twitter に流しながらできた
- というか本編聞いてますかー?(自分
- def love+ はできない
- def love_+ はできる
- そういえば,def unary_= とか def name_= もできるお
- ラムダは val id = (x:Any) => x みたく => を使います
- 括弧は省略できないけど,括弧の中に書くときは省略できたりする
- (1 to 2).map(x=>x+1) みたく
- 括弧は省略できないけど,括弧の中に書くときは省略できたりする
- call by name は,どうなんだろ
- DSL を書きたい意見もあるかもだけど
- それだったら括弧を省略できるようにした方が
- DSL を書きたい意見もあるかもだけど
- (x:=>Int) のパースができないのがよくわかんない
- (x: =>Int) はできる
- obj.getClass.getMethods.foreach(println)
- h("Int").m とか
懇親会
- agda の研修に行ってきた
call by name について例を
うーん.この i < 3 の辺が嬉しいんだろうか?
loop がブロック取れるようにすると,確かに文法拡張したように見えるけどー.
ふーむ.
scala> def loop(f:()=>Unit,x:=>Boolean){f();if(x)loop(f,x)} <console>:1: error: ':' expected but identifier found. def loop(f:()=>Unit,x:=>Boolean){f();if(x)loop(f,x)} ^ scala> def loop(f:()=>Unit,x: =>Boolean){f();if(x)loop(f,x)} loop: (() => Unit,=> Boolean)Unit scala> {var i = 0; loop(()=>{i+=1;println(i)},i < 3)} 1 2 3 scala> i <console>:9: error: not found: value i i ^
まったく別の疑問なんだけど,このブロックなに?
スコープができる.
まだまだscala はよくわからんなー.