我有一个哈希数组,如下所示。假设我的数组是@fruits_list:
[
{:key_1=>15, :key_2=>"Apple"},
{:key_1=>16, :key_2 =>"Orange"},
{:key_1=>17, :key_2 =>" "}
]
我想使用'|'加入散列中的值;但我的最终输出不应包含 nil 值。我使用以下方式连接它:
@fruits_list.collect { |hsh| hsh[:key_2] }.join("|")
但这在我的输出中添加了 nil,所以我的最终输出有 3 个项目 {"Apple" | “橙色” | “”}。我想要列表中的 2 项,并且想消除 nil 值,所以我的最终输出应该看起来像 {"Apple" | “橙子”}。
我试过了:@fruits_list.collect { |hsh| hsh[:key_2] unless hsh[:key_2].nil? }.join("|")
但即使这在最终输出中返回了 3 个项目。我做错了什么或如何消除零值?