memo.txt

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

F#の関数とメソッド

(F#レベルでの)*1型に紐づくのがメソッド
型ではなくmodule、関数、値などに紐づくのが関数。*2

どちらかでしかできないこと

メソッドだけ

module内の関数だけ

  • moduleをopenすればmodule名なしで使える
  • カリー化形式での定義(メソッドではタプル形式でないと警告が出る)
  • アクティブパターンの定義

使い分け

基本は関数を使う。

メソッドを使うとき

*1:ILレベルではmoduleもクラス

*2:参照:型に紐づくように見える関数→「続きを読む」の先

続きを読む