-1
我有.txt文件下列輸入:哈希具有多個值
FROM TO
London Paris
London NYC
NYC Cairo
Cairo Rome
London Paris
,我需要讓所有的唯一目的地的TO
"London" -> ["Paris", "NYC"]
"NYC" -> ["Cairo]
"Cairo" -> ["Rome"]
,這樣我可以用另一個數組對它們進行比較看起來像這樣的字符串A = [「維也納」,「盧森堡」,「羅馬」]。
此解決方案不起作用。
h = Hash.new{|hash, key| hash[key]}
lineCounter = 0
file = File.open(arcFile2,"r")
Line = file.first.split(" ")
file.each_line do |line|
if lineCounter == 0 then
lineCounter = lineCounter + 1
elsif lineCounter > 0 then
Line = line.split("\t")
from = Line[firstLine.index "from"].to_s.chomp
to = Line[firstLine.index "to"].to_s.chomp
h[from] = to
end
end
puts h["London"] & A
編輯:代碼工作時,我定義我的哈希值如下:
h = Hash.new{|hash, key| hash[key] = Array.new}
h[from].push to
現在的問題是我如何,因爲在這種情況下,添加獨特的價值觀,我將有
"London" -> ["Paris", "NYC", "Paris"]
沒有按什麼方面呢不工作? – splrs
@splrs我不知道如何添加一個數組到一個散列鍵,因爲這一個替換值s.t. 「倫敦」只有最後的價值,在這種情況下,它是「巴黎」 –