松尾です。 GOTO Kentaro wrote: > 演算とは、ある集合上Aで定められた関数(数学で言うところの関数、 > 以下必要に応じて数学関数と書きます)の別称とも言えるでしょう。 > たとえば、a + b は関数 +: A x A -> A と言った具合です。一般 > には異なる集合間で定義された関数 f: A x B -> C も演算という > こともあると思います。ベクトルのスカラー倍などがそうです。 スカラー倍ってどういう分野(?)でしたっけ? ベクトル空間? いや昔の数学の教科書を探そうとしているのですが、記憶が混沌としてまして ^^; どの本を読んでおいたほうがよい、というアドバイスがあれば下さい。 # 群論と集合と位相の入門書なら会社に持ってきているのですが、他のは部屋 # 中引っ掻き回さないと出てこないTT > さて、メソッド界における数学関数の特徴(制限)は > > * 対象の状態を変化させる操作は数学関数では書けない > > ことです。このように状態変化をともなうメソッドと、そうでない > メソッドの区別はこの文脈では重要だと思うので、状態変化をとも > なうメソッドをとりあえず「純メソッド」とでも呼んでおきます。 プロシージャとファンクション? でしょうか。 > 数学関数はレシーバの状態に影響を与えないので、別のモノに置き > 換える等の実現法が許されるわけです。逆にいえば、純メソッドは > coercing を利用すべきでないでしょう。 なるほど。 とすると、ここではファンクション(?)についてだけ考えればよい?