我无法检查是否有字符串。
我有这个数组:
ji1 = [:Districts,:Winter_Rain, :Hot_Weather_Rain, :South_West_Monsoon, :North_West_Monsoon, :Total]
我正在尝试使用以下代码映射此数组:
hash_data = ji1.map do |el| {title:el, field:el, sorter:"string", editor:true} end
这很有效,但是当我使用这个数组时:
ji1 = ["Districts",:Winter_Rain, :Hot_Weather_Rain, :South_West_Monsoon, :North_West_Monsoon, :Total]
有了这个密码,
hash_data = ji1.map do |el| hash_data = ji.map do |el| if el == "Districts" abort(el) else puts el end {title:el, field:el, sorter:"string", editor:true} end
当我使用上面的代码时,我看不到当el==“地区”时我期望中止的任何操作。我需要比较我的第一个数组。
当您有一个符号数组时,您将它与字符串进行比较将元素转换为字符串 (el.to_s == "Districts") 会有用的。
(el.to_s == "Districts")
ji1 = [ :Districts, :Winter_Rain, :Hot_Weather_Rain, :South_West_Monsoon, :North_West_Monsoon, :Total ] hash_data = ji1.map do |el| if el.to_s == "Districts" abort(el) else puts el end { title:el, field:el, sorter:"string", editor:true } end
注意:以上代码只转换 el 用于比较的字符串。如果你想要的话 String 在返回值中,您可能要更改 埃尔 循环本身
el
String
埃尔
这样地:
hash_data = ji1.map do |el| el = el.to_s ... ... end