タグ

2012年2月18日のブックマーク (1件)

  • “関数合成のススメ”の関数合成を Squeak Smalltalk で - Smalltalkのtは小文字です

    関数合成のススメ 〜 オブジェクト指向プログラマへ捧げる関数型言語への導入その1 - ( ꒪⌓꒪) ゆるよろ日記 メソッドを合成して新しいメソッドを生成するのはちょっと手ごわそうなのであとまわしにして、まずは簡単な無名関数を使ったバージョンから試します。 Smalltalk では無名関数はブロックと呼ばれ、式を [ ] で括ることで定義できます。 f := [3 + 4] これを評価する際には value というメッセージを送ります。 f value "=> 7 " 引数をとるブロックの場合は、次のようにコロンに続けて仮引数(変数名)を列挙し、| で手続き体と区切ります。 add := [:x :y | x + y] 引数をとるブロックの評価には value ではなく、引数の数だけ value: を重ねたメッセージを送ります。 add value: 3 value: 4 "=> 7 "

    “関数合成のススメ”の関数合成を Squeak Smalltalk で - Smalltalkのtは小文字です