Journal InTime で shugo さんが呈しておられる「いやな予感」 にもちょっとだけからめて、#become: のはなし。 #become: というのは、レシーバと引数(パラメータ)のポインタを交換してしまうメソッドです。曲がり角でぶつかると、僕と君が入れ替わるってあれですね(どれだ?(^_^;))。 | stringA stringB stringC | stringA := 'string a'. stringB := 'string b'. stringC := stringB. stringB become: stringA. ^ {stringA. stringB. stringC} " => #('string b' 'string a' 'string a') " Ruby にも、これとちょっとだけ似た挙動を示す String#replace というのがあります