memo.txt

教えていただいたこと、勉強したことのメモです。

ぶれいすさん

F#の関数とメソッド

(F#レベルでの)*1型に紐づくのがメソッド。 型ではなくmodule、関数、値などに紐づくのが関数。*2 どちらかでしかできないこと メソッドだけ 可変長引数 オプショナル引数 名前付き引数 オーバーロード 無条件での前方参照(再帰メソッドでもrecが要らない) m…

openした結果モジュールが被ってしまった場合でも両方のモジュールの関数を扱える

この記事はF# Advent Calendar 2014 - connpassの23日目の記事です。 (日にち変更していただきました。ありがとうございます。)昨日はむろほしりょうたさんの初心者がF#をUnityで使ってみた! - Qiitaでした。F# のネタリスト - 2つのアンコールより、 「ope…

アクティブパターン

「match式だけがパターンマッチだと思うなよ」 - memo.txt本当はこの記事に入るといいねって言われていたアクティブパターンについて。アクティブ パターン (F#) アクティブ パターンでは、入力データを分割する名前付きパーティションを定義できます。これ…

正規表現

お昼休みに正規表現の練習させてもらいました。 ※コードはすべてF#です。「XPathを扱ってみましょう。」 準備 open System.Text.RegularExpressions let matches input pattern = seq { for x in Regex.Matches(input, pattern) -> x} let values input patt…

「match式だけがパターンマッチだと思うなよ」

この記事は 初めてのアドベントカレンダー F# Advent Calendar 2013 - connpass 12日目の記事です。 昨日は @k_dispose さんの「F# - SqlEntityConnectionTypeProviderについて - Qiita [キータ]」でした。 明日は id:kyon_mm さんの「F#のなんかすごい話」…

リフレクションを教えてもらった

リフレクションとは 動的(実行時)に、型の情報/メソッドの情報などを取得する。 取得した情報を元に、インスタンスの生成/メソッドの呼び出し行う。 動的に型の生成・書き換え/メソッドの生成・書き換え(もするらしい)。 どういう時に使うのでしょう 文字列…

クラスとは

新しい型を作るための仕組み なぜクラスを作るのか? 新しい型を作りたい わかりやすい まちがいにくい 「なんでも用意された型で書くのではなく、より適切な型を作りましょう。」 より適切な型を作る 制限することによって得られる力 組み合わせることによ…