2009-11-25から1日間の記事一覧

続ジェネリックなmax

可変長版。 scala> def max[T <% Ordered[T]](elements: T*): T = elements toList match { | case List(x) => x | case x :: rest => | val maxRest = max(rest: _*) | if (x > maxRest) x else maxRest | } max: [T](T*)(implicit (T) => Ordered[T])T sca…

ジェネリックなmax

なんか難しい。 scala> def max[T](a: T, b: T)(implicit orderer: T => Ordered[T]) = if (a > b) a else b max: [T](T,T)(implicit (T) => Ordered[T])T scala> max(1, 3) res6: Int = 3 scala> max(10, 3) res7: Int = 10 scala> max(10., 3.) res8: Doub…

ソート

scala> List(3, 6, 2, 6, 3, 0, 5, 1) sort(_ < _) foreach print 01233566 ほー。

名前渡しパラメータ

面白い。 scala> def add(a: Int, b: Int) = b + a add: (Int,Int)Int scala> def aa() = { println("aa"); 1 } aa: ()Int scala> def bb() = { println("bb"); 3 } bb: ()Int scala> println(add(aa(), bb())) aa bb 4 scala> def add_(a: => Int, b: => In…

EclipseでScala

Scala IDE for Eclipse 入れてみる。Scala IDE for Eclipse EclipseでScalaプログラミング!