scala
Ordered trait を継承(or Mix-in)すると compare を定義するだけで = を使えるようになる。 class Sample(msgIn:String) extends Ordered[Sample] { val msg = msgIn def compare(that: Sample) = this.msg.toInt - that.msg.toInt } val s1 = new Sample("1…
通常はファイル出力しないデバッグ用ログでも、メソッド呼び出しの際に toString で文字列生成されるので実は無駄にコストがかかっているという場合に使える(のか?)。 class Test { override def toString : String = { println("called Test#toString") …
戻り値まで書く def test1(list: List[String]) : List[String] = { for (l <- list ; if l > "2") yield { "@" + l } } 戻り値を省略 def test3(list: List[String]) = { for (l <- list ; if l > "2") yield { "@" + l } } 中括弧も省略 def test2(list: L…
object Sample { def main(args: Array[String]) { def join(name: String , family: String) : String = { return name + " " + family } println(join("basyura" , "hogehoge")) //=> basyura hogehoge } }メソッドの中にメソッド
class A { def hoge(param: Int) { println("Int -> " + param) } def hoge(param: String) { println("String -> " + param) } } var a = new A() a.hoge(1) //=> Int -> 1 a.hoge("1") //=> String -> 1
class A(msg: String) { override def oString = msg } 存在しないメソッドを override しようとすると (fragment of sample.scala):3: error: method oString overrides nothing override def oString = msg ^
今日もコップ本Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)作者:Martin Odersky,Lex Spoon、Bill VennersインプレスAmazon Scala は、クラスが静的メンバー(static member)を持てないという点で Java よりもオブジェ…
今日もコップ本Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)作者:Martin Odersky,Lex Spoon、Bill VennersインプレスAmazon List クラスは要素の末尾への追加(append)をサポートしていないが、それは追加操作に要する…
var list = List(1,2,3) 0 :: list //=> List(0, 1, 2, 3) は右被演算子であるリスト list のメソッド。メソッド名の末尾がコロンの場合には、メソッドは右被演算子から呼び出される。よって list.::(0) という形になる。
Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)作者:Martin Odersky,Lex Spoon、Bill VennersインプレスAmazon勉強開始。 関数定義。全部書いた場合。 def hello(x: String) : String = { return "hello " + x } return …
お決まりタグがあったはずだけど忘れた。今 lingr 落ちてるみたいだし。 日時:2009年11月03日 (火/祝日) 13:15〜15:40 講師:yayuguさん(http://d.hatena.ne.jp/yayugu/) 場所:Lingr http://lingr.com/user/signup?letmein=onsg Ustream:http://www.ust…
まずはインストール ubuntu の場合 sudo apt-get install scala 終了 ('ー')ゞ Mac の場合 sudo port install scala 終了 ('ー')ゞ cygwin の場合 http://www.scala-lang.org/downloads から cygwin 版をダウンロード 解凍して適当なフォルダに格納 .bashrc …