不自然な例を許して、もし私が持っていれば...
class Condiment
def ketchup(quantity)
puts "adding #{quantity} of ketchup!"
end
end
class OverpricedStadiumSnack
def add
Condiment.new
end
end
hotdog = OverpricedStadiumSnack.new
...呼び出し時にhotdog
内部からインスタンス化されたオブジェクトにアクセスする方法はありますか?Condiment#ketchup
hotdog.add.ketchup('tons!')
これまでのところ、私が見つけた唯一の解決策はhotdog
、次のように明示的に渡すことです。
class Condiment
def ketchup(quantity, snack)
puts "adding #{quantity} of ketchup to your #{snack.type}!"
end
end
class OverpricedStadiumSnack
attr_accessor :type
def add
Condiment.new
end
end
hotdog = OverpricedStadiumSnack.new
hotdog.type = 'hotdog'
# call with
hotdog.add.ketchup('tons!', hotdog)
hotdog
...しかし、明示的に渡さずにこれを実行できるようにしたいと思います。