htsign's blog

ノンジャンルで書くつもりだけど技術系が多いんじゃないかと思います

F#

式途中に null として評価されてしまうケースの回避方法

F#

F# の話題です。 let x = A().B.C.D とあるとき、もしA().B が null だったら? F# で定義した型は AllowNullLiteralAttribute 属性を付与するか Unchecked.defaultof<'a> を使用しない限り、たとえ参照型だろうが null になることはありません。 でもCLRの…

Partial Active Patterns

F#

引数で受けた正規表現を評価して、ヒットしたら返します。 習作として作りました。 gist.github.com 使い方 アクティブパターンなので、パターンマッチの内部でリストから取り出すイメージですね。 マッチしなければ次のパターン(この例では| _ -> ()の行)…

F#のべき乗計算

現在F#の勉強を始めたところで、基礎的なところをぼちぼち習得している段階です。 演算子の話なんですが、F#にはOCamlの系譜だからなのか**演算子(べき乗)があります。 RubyやPythonなど、関数型の血を引いたいくつかの言語にも備わっている珍しくもない演…