我真的在网上找不到任何其他内容而且我自己也没有。 我想用Ruby中的方法从整数数组中删除奇数条目。但是我在定义方法时只能得到错误。如何让方法理解这一点?
def even
a=[]
i=0
while i<=a.length
a[i]%2 == 1
a.delete(a[i])
i+=i
end
end
even([1,2,3])
答案 0 :(得分:2)
您可以简单地使用如下所示的Ruby数组拒绝方法,
arr = [1,2,3,4,5,6,7,8]
arr.reject{|v| v%2 == 1}
# => [2, 4, 6, 8]
答案 1 :(得分:0)
select
。一个数字已经有一种方法来检查它是否是偶数(even?
)。所以解决方案很简单:
[1,2,3].select(&:even?)
返回仅包含偶数的新列表。如果您想要修改列表,请改用select!
。