Statistical Programming

便利機能

誰だよこんなの思いついたやつ

scalaのStreamを使った無限フィボナッチ数列の作り方っ★ ※StreamとはListを遅延評価にしたようなやつ。遅延評価なので実際にその値が必要になるまで評価されず、無限に要素を持つことが可能。 なんか普通に綺麗で、思いついたやつcrazyだと思う。 def fib(a:…

reduceとfold…

例えばこんなコレクションがあったとして List(1,2,3,4,5) このコレクションの各要素に10を足したものを掛け合わしたいとする。そんなとき便利なのかreduce系もしくはfold系メソッド。例えばreduceLeft(f)メソッドは,リスト x1, x2, …, xn に対して f(f(…f(…

Scala immutableなコレクションと便利なメソッド

関数型言語定番のimmutableなデータ構造がScalaのひとつの特徴ですが、今回はimmutableなデータの集まりであるコレクションとそれを扱う便利メソッドについてです(Javaではimmutableで変更不可なデータはfinalキーワードを用いて特別に定義していましたよね…

Scala 暗黙の型変換、implicit !?

ScalaにはJavaにはない暗黙の型変換という機能があります。これはScalaに自動的に呼び出させることの出来る、型変換用の関数を定義できる機能です。 関数定義の最初に implicit というキーワードをつけて、この暗黙型変換関数を定義します。この関数は型変換…