有一个哈希{'results' => [], 'snow' => [], 'ham' => [], 'plow' => [] }
我想动态构建一个字符串(键可能会改变),它包含所有键,不包括“results”,看起来像"snow + ham + plow"
我该怎么做?
答案 0 :(得分:3)
使用Hash#keys
获取密钥,Array#reject
拒绝“结果”,Array#join
将其加入字符串:
hash.keys.reject { |k| k == "results" }.join(" + ")
答案 1 :(得分:3)
另外两种方式(#1是我的偏好):
h = {'results' => [], 'snow' => [], 'ham' => [], 'plow' => [] }
<强>#1 强>
(h.keys - ['results']).join(' + ') #=> "snow + ham + plow"
<强>#2 强>
a = h.keys
a.delete('results')
a.join(' + ') #=> "snow + ham + plow"