htsign's blog

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

F#

F# で構造的部分型のメソッドを呼び出す方法

F#

これどっかで書いたような気がしてましたが、少なくともこのブログでは書いたことなかったようなので、すごく久しぶりに生存報告がてら書いてみようと思います。 F# は基本的に公称型で表現される言語なのですが、OCaml を直接の親に持つ言語だからなのか、…

式途中に 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など、関数型の血を引いたいくつかの言語にも備わっている珍しくもない演…