0
我无法弄清楚我的代码有什么问题,你能帮我吗?Ruby未定义的方法`每个'
这是我班的构造函数:
def initialize(hash_table_size)
@size = hash_table_size
@table = Array.new(hash_table_size) { LinkedList.new }
end
这个方法在类:
def to_a
arr = Array.new
@table.each { |list| list.each { |o| arr << o } }
arr
end
这是我的 “每个” 在LinkedList类方法:
def each
if @length > 0
item = @head
begin
yield item.object
item = item.next
end until item.nil?
end
end
这就是我从单元测试中得到的结果:
1) Error:
test_initial_size_3(HashSetTest):
NoMethodError: undefined method `each' for 3:Fixnum
C:/Users/Ajax/My Documents/Aptana Studio 3 Workspace/alg_du1_jan_svec/hash_set.rb:34:in `block in to_a'
C:/Users/Ajax/My Documents/Aptana Studio 3 Workspace/alg_du1_jan_svec/hash_set.rb:34:in `each'
C:/Users/Ajax/My Documents/Aptana Studio 3 Workspace/alg_du1_jan_svec/hash_set.rb:34:in `to_a'
C:/Users/Ajax/My Documents/Aptana Studio 3 Workspace/alg_du1_jan_svec/hash_set_test.rb:14:in `test_initial_size_3'
1 tests, 3 assertions, 0 failures, 1 errors, 0 skips
你可以发布你的单元测试吗? – Andbdrew 2013-03-19 04:34:15
@Andbdrew http://pastebin.com/bL22k8qt,我只使用第一个部分 – Silverlaine 2013-03-19 05:00:12