「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 errorasNon- fatalおよび next>>プロンプトが私たちに与えるようなものを作っているのでしょうか?