假设我在名为“Sample.rb”的文件中编写了代码:
class Foo
def display()
p "hi"
end
end
Foo.new.display(1)
我的程序Sample.rb
肯定会结束,没有执行任何也放置在该方法中的后期执行,如果不处理它会出现以下错误:
#ArgumentError: wrong number of arguments (1 for 0)
# from (irb):2:in `display'
# from (irb):6
# from C:/Ruby193/bin/irb:12:in `<main>'
现在谈到另一点:
IRB
本身也是一个程序。它接受下面的代码,也会产生如下相同的错误:
>> class Foo
>> def display()
>> p "hi"
>> end
>> end
#=> nil
>> Foo.new.display 1
#ArgumentError: wrong number of arguments (1 for 0)
# from (irb):2:in `display'
# from (irb):6
# from C:/Ruby193/bin/irb:12:in `<main>'
>>
为什么在这种情况下IRB
,它本身并没有突然退出,而是在给我们做Fatal error
asNon- fatal
和 next提示?>>