2013-02-27 128 views
-2

我试图通过2个空阵列的方法,但我得到一个参数异常......我读左右,但仍然想不通为什么会这样......传递参数,Ruby脚本

代码:

file = File.read("place_code.google.com") 
paths = [] 
urls = [] 

def parseLog(file, paths) 
    file.each_line do |line| 
     match = line.match(/([a-z0-9]*GET\s)(.*puzzle\S*)/) 
     if match 
      paths << match[2] 
     end 
    end 
    return paths 
end 

错误:

:in `parseLog': wrong number of arguments (0 for 2) (ArgumentError) 
+0

向我们介绍如何调用这种方法? – Mchl 2013-02-27 16:34:03

+1

嗯......你父亲是对的,谢谢你指出了......我忘了在一些改变后改变调用的参数。谢谢。把它作为回答,所以我可以接受作为回答的良好暗示。我开始拨打电话的参数 – 2013-02-27 16:38:12

回答

1

当你调用你的方法,你是不是传入需要的参数。要调用你的方法,你可以做类似的事情:

file = File.read("place_code.google.com") 
paths = [] 
urls = [] 
class NewClass 
    def initalize 
    end 
    def parseLog(file, paths) 
     file.each_line do |line| 
      match = line.match(/([a-z0-9]*GET\s)(.*puzzle\S*)/) 
      if match 
      paths << match[2] 
      end 
     end 
     return paths 
    end 
    end 
yourClass = NewClass.new() 
yourClass.parseLog(file, path)