[英]Hash map in ruby is storing key-value pair automatically
通常,這是在Ruby中創建Hash Map
的方法
colors = {
"red" => 2,
"blue" => 3
}
但是在下面的代碼中,在哪里指定了Key及其對應的值,就像在“ colors”哈希中所做的那樣。
puts "enter a string"
text = gets.chomp
words=text.split
frequencies = Hash.new(0)
words.each {|word| frequencies [word] +=1}
frequencies = frequencies.sort_by do |wordy, wcounty|
wordy
end
puts frequencies
是在每個循環中還是在其旁邊的“頻率”新值被分配為循環的行中完成,如果是,如何?
我是Ruby
新手,但是對JAVA
了解很少,因此我很難理解它。
如果您看一下這一行:
words.each {|word| frequencies [word] +=1}
您可以這樣看待這段代碼(例如,這是編寫代碼的一種非繁瑣的方式):
i=1
words.each do |word|
frequencies [word] = i
i = i +1
end
關鍵是您要分配給i的單詞及其對應的值。 如果您想知道,do / end鍵值與{}相同。 當迭代器中的代碼跨越多行時,可以使用它。
希望能幫助到你
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.