在Ruby中动态创建字符串

时间:2014-03-27 02:37:59

标签: ruby string loops

有一个哈希{'results' => [], 'snow' => [], 'ham' => [], 'plow' => [] }

我想动态构建一个字符串(键可能会改变),它包含所有键,不包括“results”,看起来像"snow + ham + plow"

我该怎么做?

2 个答案:

答案 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"