我在Ruby中得到了这个回应:
puts templateid --> ["10001", "10404"]
第一个应该是#{mstmplid},第二个应该是#{ostmplid}。我想用以下函数检查这个数组是否包含这两个值:
if templateid.all? { |x| ["#{mstmplid}", "#{ostmplid}"].include?(x) }
puts "OK"
end
不幸的是templateid.all?与templateid.any相同?所以它将检查数组中是否有任何指定的值。如何检查两个值是否存在?
答案 0 :(得分:3)
如果这两个数组总是只有2个元素,你可以通过以下方式检查:
templateid.sort == [mstmplid, ostmplid].map(&:to_s).sort
如果您只是想检查mstmplid, ostmplid
中是否包含templateid
,您应该这样写:
[mstmplid, ostmplid].map(&:to_s).all? { |x| templateid.include? x }