Rubyでの割り当て方法について本当に混乱しています。ドキュメントでは、Rubyでの割り当て方法がわかりません(等号で定義されたメソッド)
等号で終わるメソッドは、割り当て方法を示しています。 代入メソッドの場合、戻り値は無視され、代わりに という引数が返されます。
これは、クラスのセッターメソッドとして使用できます。しかし、私はまだそのコンセプトについて混乱しているように感じます。以下のコードでは、
class Foo
# setter method
def foo=(x)
puts "OK: x=#{x}"
end
end
f = Foo.new
f.foo = 123 # OK: x=123
def a=(value)
puts "value is #{value}"
end
a = 123 # why there is no output?
p a # 123, why this only return the argument?
p a = 123 # 123, why this only return the argument?
等号のあるメソッドがクラス内とクラス外で異なる方法で実行されるのはなぜですか?原則として