以下のコードを試して、明示的なインスタンスメソッド呼び出しなしでインスタンス変数を直接割り当てることができるか、クラスの外部にできないかを確認しました。はい、以下のコードはできると言っています。
@ubuntu:~$ irb --simple-prompt
class Foo
def initialize(x,y,z)
@x, @y, @z= x, y,z
end
def to_ary
[@x, @y, @z]
end
def to_hash
[@x => @y]
end
end
#=> nil
foo = Foo.new(10,11,12)
#=> #<Foo:0x00000001191738 @x=10, @y=11, @z=12>
私の質問は以下のものです:
a,*b = foo
#=> #<Foo:0x00000001191738 @x=10, @y=11, @z=12>
a
#=> 10
b
#=> [11, 12]
a,*b
オブジェクトを作成せずにインスタンス変数からそのような割り当てを行うために、どのように、またはどの内部メソッドが呼び出されましたか?
ありがとう