我可以在另一个方法中访问方法
def one(a)
if a < 10
two()
else
print "ITs passed in first function ONE"
end
end
def two(b)
if b < 10
print "Both function failed"
else
print "ITs passed in second function TWO"
end
end
puts one(5)
puts two(15)
如果我运行此程序,我会收到错误
test4.rb:9:in `two': wrong number of arguments (0 for 1) (ArgumentError)
答案 0 :(得分:0)
您得到的错误不是因为您无法使用其他方法。这是因为你传递的参数与方法所期望的参数不匹配。
具体来说,方法two
需要一个参数,而使用two()
将其传递给零。
将其更改为:
def one(a)
if a < 10
two(a) #<--here
else
#...
答案 1 :(得分:-1)
您无需在驱动程序代码中调用这两种方法。对b使用实例变量,只需调用一个函数。如果您愿意更改&#34; print&#34; for&#34; return&#34;在方法内部。