我正在寻找替代*parent*
的东西。
%w[apple apples].each do |w|
next if *parent*.includes? w + "s"
puts w
end
# output: apples
答案 0 :(得分:4)
没有办法做到这一点。您必须先为该集合命名:
fruits = %w[apple apples]
fruits.each do |w|
next if fruits.includes? w + "s"
puts w
end
答案 1 :(得分:4)
each
是一种惯例,对于一般的块或特别是传递给每个块的块,没有“父集合”的概念。只需命名,例如
(parent = %w[apple apples]).each do |w|
next if parent.includes? w + "s"
puts w
end
您可以添加其他方法来传递父级
例如
module Each2
def each2
each { |elem| yield(self, elem) }
end
end
include Each2
%w[apple apples].each2 do |parent, w|
next if parent.includes? w + "s"
puts w
end
但这很愚蠢。