项目引用其容器的方法

时间:2012-11-06 21:44:03

标签: ruby

如果我执行以下操作,例如:

foo = ["bar"]
foo.keep_if {|n| foo.last.obect_id == n.object_id}

有没有其他方法可以在块内引用foo而不是命名它,类似于" n.container"?

1 个答案:

答案 0 :(得分:1)

不,没有。一个对象可以出现在任意数量的容器中(并且没有用于容器的协议来告诉对象,“哟,我现在包含你了”),所以它实际上并不实用。只使用块中的现有变量是最干净的方法。