【发布时间】:2017-07-04 10:26:45
【问题描述】:
class LineAnalyzer
@@highest_wf_count = 0
@@highest_wf_words = Hash.new(0)
def initialize(content, line_number)
@content = content
@line_number = line_number
calculate_word_frequency(content)
end
def calculate_word_frequency(content)
content.split.each do |word|
@@highest_wf_words[word.downcase] +=1
end
@@highest_wf_words = @@highest_wf_words.sort_by{|k,v| -v}
end
end
class Solution
def initialize()
@analyzers = Array.new
@highest_count_words_across_lines = Array.new
end
def analyze_file()
@line_number = 0
File.foreach('test.txt') do |content|
@line_number += 1
@line = LineAnalyzer.new(content,@line_number)
@analyzers.<<(@line)
end
end
end
在尝试创建 LineAnalyzer 对象并传递值时,出现以下错误:
@line = LineAnalyzer.new(content,@line_number)
这是我得到的:
Max-Word-Freq/module2_assignment.rb:34:in `calculate_word_frequency'
from D:/graded-assignments/course01/module02/assignment-Calc-Max-Word-Freq/module2_assignment.rb:25:in `initialize'
from D:/graded-assignments/course01/module02/assignment-Calc-Max-Word-Freq/module2_assignment.rb:68:in `new'
from D:/graded-assignments/course01/module02/assignment-Calc-Max-Word-Freq/module2_assignment.rb:68:in `block in analyze_file'
from D:/graded-assignments/course01/module02/assignment-Calc-Max-Word-Freq/module2_assignment.rb:66:in `foreach'
from D:/graded-assignments/course01/module02/assignment-Calc-Max-Word-Freq/module2_assignment.rb:66:in `analyze_file'
from D:/graded-assignments/course01/module02/assignment-Calc-Max-Word-Freq/solution.rb:10:in `<main>'
【问题讨论】:
-
你尝试用一个字符串索引一个数组。看起来像在
calculate_word_frequency。 -
能否贴一下日志
-
请编辑问题,而不是在 cmets 中添加其他信息
-
您能指出确切的错误行吗?
-
content的值是多少? #34 中的哪一行?提供更多详细信息。
标签: ruby-on-rails ruby