2015-04-02から1日間の記事一覧
法律文の構文解析がいかに難しいかをよく説明する例。 この例文の中だけでも、かなり難しい要素がある。 ↓以下は「一文」です。 労働者の養育する子について、当該労働者の配偶者が当該子の 1 歳到達日以前のいずれかの日において当該子を養育するために育児…
Functional pearls という素敵な論文集を見つけた。 日本語の訳本 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山下伸夫出版社/メーカー: オーム社発売日: 2014/11/12メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を…
今日のScalaハマリポイント: EnumerationのvaluesはSotedSetを返すので、マップした結果もソートされる。 gist.github.com なにかやんごとなき理由があるのかもしれないが、直感には反するのでかなりのハマリポイント。 このせいで3〜4時間は費やしてしまっ…
学生さんから、「関数リテラルを引数に取るメソッドをオーバーロードするときはどうするのがスマートだと思いますか?」と聞かれて、ちょっと調べてみた。 どういう場合かというと、 gist.github.com みたいな場合。引数一つの関数オブジェクトはFunction1[-…
Scalaには標準では try-with-resource 構文が備わっていないが、自分で簡単に実装できるので、一般的にはこんなかんじのコードをそれぞれ書いて使う。 gist.github.com 標準ライブラリの範囲でできる書き方が何かないかなと模索していたら、こんな書き方がで…
今日のScalaハマりポイント: for 式内の変数束縛のタイミングが直観に合わない。 挙動をちゃんと知っていれば理解は出来るけれど、気を使って書かなければいけないのはデメリット。 gist.github.com 普通に読むと、iを束縛した後、bestを束縛して、jを回す…
今日のScala悲しみポイント 「untilで作ったRangeはshuffleできない」 gist.github.com ↓ なんと、toで作ったRangeとuntilで作ったRangeでは型が違うらしい。 gist.github.com ↓ Listのように明示的に列挙されているコレクションに変換すればもちろんshuffle…
scalaに-Xprint:<phase>オプションを渡すことでコードの構文木を見ることができる。 シンタックスシュガーの展開などをチェックするのに便利。 この状態で for式を入れると、デシュガーの結果がわかる。 gist.github.com -Xprintオプションに渡す出力フェーズは、"s</phase>…
scalaのREPLに色をつける隠しオプションがあるらしい scala -Dscala.color でも、特に嬉しくない。