スーパークラスのないクラスで誤ってスーパーを呼び出していたクラスで、非常に奇妙な動作に気付きました。明らかに、私は super を呼び出すべきではありませんでしたが、エラーが非常に奇妙であることがわかりました:
class SomeClass
def initialize(someparam)
super
end
end
それで:
SomeClass.new() # ArgumentError: wrong number of arguments (0 for 1)
SomeClass.new('cow') # ArgumentError: wrong number of arguments (1 for 0)
なぜ 2 番目の Argument エラーが発生し、存在しないスーパークラスでの super の呼び出しに関連するより具体的なエラーが発生しないのはなぜですか?