2011-05-27から1日間の記事一覧

プレースホルダ構文2

val a = ( a :Int , b :Int ) => { a + b } val b = { _+_ } しかし 2番目のようには書けない不思議。 なんかかけそうだけど。 いろいろ調べて val b = { (_:Int)+(_:Int) } なら書けることがわかった。 型がわからないからエラーなのか。 確かに、高階関数…

オブジェクトのクラス名を得る方法

オブジェクトのクラス名を得る方法 Rubyでいう、.class と同じメソッドはあるのか?? http://wota.jp/ac/?date=20100506 結論的には、 AnyRefのサブクラスでは .getClass AnyValのサブクラスでは、 .asInstanceOf[AnyRef].getClass

プレースホルダ構文 (無名関数の引数省略バージョン?)

下に紹介してあるScalaの本を読んでいると、 def calc(a:Int, b:Int, op:(Int,Int)=>Int)=op(a,b) val r1 = calc(5,2,_+_) val r2 = calc(5,2,_-_) val r3 = calc(5,2,_*_) val r4 = calc(5,2,_/_) println(r1, r2, r3,r4) なんていうのがあった。 _+_ って…