scala> Vector(1,2) == Vector(1,2)
res0: Boolean = true
こちらは通常の比較なので問題なし。
| export SBT_OPTS='-Xms512m -Xmx1024m -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=1024m' |
| scala> def fo() = { | |
| | var i=0 | |
| | var s="init" | |
| | () => { | |
| | if (s == "init") { | |
| | s = "add" | |
| | i | |
| | } else { | |
| | i += 1 | |
| | i |
半年ぐらい前ですが、Scalaz の解説のプレゼンテーションである、
Scalaz Presentationという プレゼン動画を見ました。
Nick Partridgeさんというオーストラリアの方が、約1年半前に Scalazの説明をされているプレゼンなのですが
半年前に見たときは 何をやっているのかさっぱり理解出来ませんでした。
今 もう一度みると Scalaz に限らず 型パラメータつかって関数を一般化するのに
段階をおって一般化されていくので すごくよくできたプレゼンの内容であるのがやっとわかるようになってきました。
coffee-script をインストールする前に node.js をインストールする必要があります。
node.js は homebrew を使ってインストールしました。
brew install nodejs
==> Downloading http://nodejs.org/dist/v0.8.8/node-v0.8.8.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.8
==> make install
Adobe から発表された コーディング用のフォントである Source Cord Pro を早速 Sublime text2 に設定してみました。
フォントは Github
adobe / Source-Code-Pro
から ダウンロード可能です。
| scala> import maze._ | |
| import maze._ | |
| scala> val m = Mazes.load(new java.io.File("maze.txt")) | |
| m: maze.Maze = maze.Maze@20ccb51 | |
| scala> Mazes.encodeRunLength(m.solve.get) | |
| res0: List[(maze.Direction.Value, Int)] = List((S,1), (E,10), (S,2), (W,31), (N,4), (E,2), (S,2), (E,2), (N,4), (E,7), (N,1)) |