这个问题有点含糊,但我不确定为什么会发生这种情况:
我有以下代码:
p user.room.users.length
user.room.users.each {|usr| puts "b" }
user.room.users.each {|usr| puts "a"; usr.enter(Room[Config::entrance]) }
输出:
5
b
b
b
b
b
a
a
a
我还让 User#enter 计算它被调用的次数并返回3
!我对这种行为完全感到困惑。我怀疑 User#enter 中的代码是原因,但如果有人认为它可能相关,我可以提供它(我不想不必要地混淆问题)。
编辑
如果它是相关的,我正在使用ruby-1.9.3-p125