我有一個哈希數組,如下所示。假設我的數組是@fruits_list:檢查收集函數內的零值
[
{:key_1=>15, :key_2=>"Apple"},
{:key_1=>16, :key_2 =>"Orange"},
{:key_1=>17, :key_2 =>" "}
]
我想使用'|'連接哈希中的值;但我的最終輸出不應包含零值。我將它連接使用:
@fruits_list.collect { |hsh| hsh[:key_2] }.join("|")
但是這會增加無我的輸出,所以我最後的輸出有3項{「蘋果」 | 「橙色」| 「」}。我想要列表中的2個項目,並希望消除零值,所以我的最終輸出應該看起來像{「Apple」| 「橙子」}。
我嘗試過:@fruits_list.collect { |hsh| hsh[:key_2] unless hsh[:key_2].nil? }.join("|")
,但即使這樣也會在最終輸出中返回3個項目。我做錯了什麼,或者我該如何消除零值?
那不是'nil'值,它的'空格' – Bala
除非hsh [:key_2] .blank?會做你想做的。正如巴拉說零不會起作用 –