gpt4 book ai didi

arrays - 用 2 个括号迭代 "For"循环

转载 作者:数据小太阳 更新时间:2023-10-29 08:22:25 26 4
gpt4 key购买 nike

我正在阅读 Programming Ruby(第 4 版),但我不太明白我们如何使用 2 个括号迭代 for 循环。

require_relative "words_from_string.rb"
require_relative "count_frequency.rb"

raw_text = %{hey hey hey man man bro}

word_list = words_from_string(raw_text)
counts = count_frequency(word_list)
sorted = counts.sort_by {|word, count| count }
top_five = sorted.last(5)

for i in 0...5
word = top_five[i][0] #don't understand why there are 2 brackets.
count = top_five[i][1] #how does the iterator work with 2 brackets.
puts "#{word}: #{count}"
end

words_from_string.rb

def words_from_string(string)
string.downcase.scan(/[\w']+/)
end

计数频率.rb

def count_frequency(word_list)
counts = Hash.new(0)

for word in word_list
counts[word] += 1
end

counts
end

最佳答案

top_five 数组由元素组成,这些元素本身就是包含两个元素的数组 - 第一个是单词,第二个是它在 raw_text 中出现的次数.

循环遍历这些对并将单词(每个数组的第一个元素,索引 0)提取到 word 并将计数(每个数组中的第二个元素,索引 1)提取到 计数

关于arrays - 用 2 个括号迭代 "For"循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com