我試圖理解這個代碼片段:解釋紅寶石代碼片段
while row = input.gets
row.strip!
next if row.empty?
valuesplit = row.split("---")
a, b = valuesplit[1..2]
unless a == b
$hash1[a] ||= {} <--------------What is this line doing? How is the whole loop
$hash1[a][b] = true being traversed?
if $hash1[b] && $hash1[b][a] <-----Can you please describe this if() loop
$hash2[a] ||= []
$hash2[a] << b
$hash2[b] ||= []
$hash2[b] << a
end
end
end
注:$ HASH1 = {} $ HASH2 = {}
謝謝!
UPDATE
輸入:
junkdata1 value1 value2
junkdata2 value3 value4
junkdata3 value5 value6
等。
也用註釋更新了代碼行。
有什麼不明白嗎? – JRL 2010-01-03 07:38:47
我剛開始使用java開發,我需要了解這個ruby代碼,以便我可以在java上實現相同的代碼。如果某些身體有時間描述線條,我將非常感謝!我只是不能理解代碼! – zengr 2010-01-03 07:42:13
我們能否獲得更多信息?這段代碼的輸入數據示例?很容易理解每一行代碼的功能,但是如果沒有更多的信息,很難確定整個代碼塊的目的是什麼。 – coderjoe 2010-01-03 07:52:15