創建的字符串有一個哈希{'results' => [], 'snow' => [], 'ham' => [], 'plow' => [] }
動態Ruby中
,我要動態地構建一個字符串(鍵可以改變),它具有所有的按鍵,但不包括「結果」,它看起來像這樣"snow + ham + plow"
我該怎麼做?
創建的字符串有一個哈希{'results' => [], 'snow' => [], 'ham' => [], 'plow' => [] }
動態Ruby中
,我要動態地構建一個字符串(鍵可以改變),它具有所有的按鍵,但不包括「結果」,它看起來像這樣"snow + ham + plow"
我該怎麼做?
使用Hash#keys
拿到鑰匙,Array#reject
拒絕 「成果」 之一,Array#join
將它們連接成一個字符串:其他
hash.keys.reject { |k| k == "results" }.join(" + ")
兩種方式(#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"
好,沒有明確列舉。 'Array#delete'和'Array.join'都必須在後臺迭代。 – Chuck
好點,@Chuck。不否認這一點。 (也適用於'keys'。)編輯。讀者:以前我說過「沒有迭代:」。 –
+1#1解決方案。 –
是的,你說得對,我是用Python語法,我將修改後,並修復它 – appleLover