我正在研究“Learn Ruby The Hard Way”,并且有一个关于在对象内部调用方法的问题。我希望有人可以对此有所了解。
代码是:
def play()
next_room = @start
while true
puts "\n--------"
room = method(next_room)
next_room = room.call()
end
end
我知道while
这种方法中的循环是使游戏继续进行到不同区域的原因。我的问题是,为什么room.call()
必须首先传递给next_room
它才能工作?为什么不只是做room.call()
让游戏继续到下一个区域?
我自己对此进行了测试,但我不明白为什么它不能以这种方式工作。