gpt4 book ai didi

ruby - 显示数组的子集

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:32 25 4
gpt4 key购买 nike

假设我想放置字母表。所以我可以做类似的事情:

alphabet = ('a'..'z')
alphabet.map do |a|
puts a
end

我现在要做的是排除元音

alphabet = ('a'..'z')
vowels = ['a','e','i','o','u']
alphabet.map do |a|
puts a unless a == vowels
end

我正在努力避免这种情况:

alphabet = ('a'..'z')
alphabet.map do |a|
puts a unless a == 'a'
puts a unless a == 'e'
puts a unless a == 'i'
puts a unless a == 'o'
puts a unless a == 'u'
end

如何在句法上实现第二个示例以使其正常工作?

最佳答案

Range 可以扩展为 Array。然后你可以减去另一个数组。

chars = ('a'..'z').to_a - %w( a e i o u )
chars.each do |a|
puts a
end

作为旁注,除非确实需要,否则不要使用 #map。如果您不关心返回值,请使用 #each

关于ruby - 显示数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com