如何將這兩個字符串列表轉換爲關鍵字參數?將兩個字符串列表轉換爲關鍵字參數
["foo", "bar", "fizz"], ["1", "2", "buzz"]
到
(foo: "1", bar: "2", fizz: "buzz")
如何將這兩個字符串列表轉換爲關鍵字參數?將兩個字符串列表轉換爲關鍵字參數
["foo", "bar", "fizz"], ["1", "2", "buzz"]
到
(foo: "1", bar: "2", fizz: "buzz")
你可以散列兩個列表:
a = ["foo", "bar", "fizz"]
b = ["1", "2", "buzz"]
res = Hash[a.zip b]
res
是:{"foo"=>"1", "bar"=>"2", "fizz"=>"buzz"}
爲什麼downvote? – Mureinik
你永遠不會知道。 (也許因爲你沒有改變符號的鍵,這是微不足道的)。這就是生活。 –
儘管SO確實表示你應該評論一下你爲何倒下了。這是社區禮節的一部分。 –
words = ["foo", "bar", "fizz"]
integers = ["1","2","3"]
你可以試試這個:如果你想改變琴絃的符號,並進行散列出來的Hash[words.zip(integers)]
或在新的Ruby中使用'words.zip(整數).to_h'。 –
請注意,OP的整數實際上是字符串。 –
...被轉換爲符號。 –
,你可以這樣做:
strings = ["foo", "bar", "fizz"]
symbols = strings.map(&:to_sym)
integers = ["1","2","3"]
Hash[symbols.zip(integers)]
你會得到{foo: "1", bar: "2", fizz: "buzz"}
根據需要。
你爲什麼要[做一個哈希](http://en.wiktionary.org/wiki/make_a_hash_of)? –
不像其他答案那麼幹淨或小,但這個工程..並轉換爲符號。亞倫編碼提供了一個很好的速記方式!
w = ["foo", "bar", "fizz"]
w2 = ["1", "2", "buzz"]
c = 0
h = Hash.new { |hash, sym| hash[sym] }
w.each do |x|
h[x.to_sym] = w2[c]
c += 1
end
puts h
你不能那樣做。這不是一個對象。或者,你的意思是如何將參數傳遞給一個方法? – sawa
您查找的結果無效 –
您的意思是:{foo:「1」,bar:「2」,fizz:「buzz」}?或者你想要一個字符串parens:'(foo:「1」,bar:「2」,fizz:「buzz」)'? –