-2
下面的代码给了我一个ArgumentError
,我不知道这个问题。如何修复错误数量的参数错误(0代表1)
的挑战来自代码的出现,第3天
require 'set'
x, y = 0
visited = Set.new
def move(dir)
case move
when ">"
x += 1
when "<"
x -= 1
when "^"
y += 1
when "v"
y -= 1
end
end
def visit(x,y)
unless visited.include?([x,y])
visited << [x,y]
end
end
a_file = File.open("day3a_directions.txt", "r")
a_file.each_line("\n") do |line|
line.each_char do |dir|
move(dir)
visit(x,y)
end
end
puts visited.length
这是我得到的错误:
day3a.rb:6:in `move': wrong number of arguments (0 for 1) (ArgumentError)
from tmp.rb:7:in `move'
from tmp.rb:28:in `block (2 levels) in <main>'
from tmp.rb:27:in `each_char'
from tmp.rb:27:in `block in <main>'
from tmp.rb:26:in `each_line'
from tmp.rb:26:in `<main>'
您可以添加堆栈跟踪吗? – yez
Ruby没有“错误的参数错误”。请修改您的帖子以包含确切的错误消息,包括行号和堆栈跟踪。 –
P.S.我可以看到你的代码有一个问题:在'visit'中你调用'visited.include?',但是'visited'在那个范围内不存在。 –