簡體   English   中英

紅寶石中的哈希圖自動存儲鍵值對

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM