我想创建一个函数,返回包含在另一个数组列表中的数组列表。这是我想出的:
def coffee(arr)
acceptable_coffee = ["dark", "blend", "handsome"]
good_coffee = acceptable_coffee & arr.map{|n| n.downcase}
end
可能的输入可能包含 acceptable_coffee
中的元素。它们的大小写可能并不总是小写,即:
arr1 = ["dark", "decaf", "java", "HANDSOME"]
arr2 = ["dark", "smooth", "BLEND"]
我希望函数返回包含可接受元素的数组,同时保留它们的大写/小写。然后函数应该返回:
coffee(arr1) #=> ["dark", "HANDSOME"]
coffee(arr2) #=> ["dark", "BLEND"]
目前它分别返回 ["dark", "handsome"]
和 ["dark", "blend"]
。如果我不做小写,它就不会正确相交。如何在保留大写/小写的同时返回相交数组?不要担心其他边缘情况。假设可能的数组输入元素完全大写/完全小写,如示例所示。
最佳答案
这会得到交集,但 id 并没有完全使用时髦的 &
运算符或集合。
def coffee(rest)
acceptable_coffee = ["dark", "blend", "handsome"]
rest.select { |name| acceptable_coffee.include? name.downcase }
end
关于arrays - 如何在 ruby 中返回相交数组并保留大写/小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39624480/