2010-12-30から1日間の記事一覧

アクティブパターンでFizzBuzz

F#

アクティブパターンを使いこせるとかっこいいですよね。アクティブパターンでFizzBuzzは目新しい話ではなさそうですが、やってみました。 アクティブパターンを使わない例。 まずは普通に。fizzbuzz関数の中で条件分岐してます。[<Test>] let ``fizzbuzz without A</test>…

文字列の反転

F#

簡単に書けると楽しい。[<Test>] let ``reverse string`` () = let x = "abcdef" Assert.AreEqual("fedcba", x |> Array.ofSeq |> Array.rev |> String.Concat) 追記 サロゲートペアのことを考えないといけない。なるほど。 http://stackoverflow.com/questions/45</test>…

ダックタイピング

F#

6.4.8 Member Constraint Invocation Expressionsという機能があって、ダックタイピングできるようです。F#でDuck Typingも参考になりました。マニュアルに書いてあるのを少しだけ変更。パラメータをもつメソッドも呼び出してみました。type Duck() = member…