まつもと ゆきひろです

In message "[ruby-list:7354] def foo=(a,b)"
    on 98/04/08, Keiju ISHITSUKA <keiju / rational.com> writes:

|けいじゅ@日本ラショナルソフトウェアです.
|
|def self.bar=(a,b)
|  ...
|end
|
|ってどういうメソッドになるんですか?

どういうメソッドって言われても"bar="という名前を持つ2引数の
メソッドです.なにも特別なことは無いでしょ?

ただ,「偶然にも」名前に"="を含むメソッドはsendなどの間接的
な方法以外では2個以上の引数を付けて呼び出すことは出来ません
けれど.

|irb:027:0> self.bar=1,2
|irb:028:0> self.bar=[1,2]
|irb:031:0> self.bar(1)=2
|
|は全部駄目ですね... 

最初は文法エラー
2番目はself.send("bar=", [1,2])の意味
3番目も文法エラーですね.

|# きっと, さいごのをゆるすきはないですよね...

時々欲しいって思う時はあるんですけどね.
実装のこととか,文法のことを考えるとなかなか踏み切れません.

                                まつもと ゆきひろ /:|)