我需要比较Rails中的两个数组,但我需要忽略大小写。 我试图比较标头数组与预期的标头数组。
helper_method :check_header
def check_header(expected_header,csv_file)
header = CSV.open(csv_file, 'r') { |csv| csv.first }
valid_csv = true
if header != expected_header
$csv_error = "Header:<br> #{header} <br> Expected Header: <br> #{expected_header} "
valid_csv = false
end
return valid_csv
end
我尝试过.downcase但这只适用于字符串,而不是数组。是否有类似的数组运算符或我是否必须遍历数组的元素?
答案 0 :(得分:0)
如果你想要对数组的成员进行downcase,你可以这样做:
> ary = ["A", "B", "C"]
=> ["A", "B", "C"]
> ary.map(&:downcase)
=> ["a", "b", "c"]
因此,如果你想知道两个字符串数组是否完全相同,你可以这样做:
ary1.map(&:downcase) == ary2.map(&:downcase)
请注意,这仍然是数组比较,所以顺序很重要。