Ruby 用这种方法';方法';是否抛出此错误消息?

Ruby 用这种方法';方法';是否抛出此错误消息?,ruby,error-handling,Ruby,Error Handling,ruby代码 class Word < Array def g puts "JJ" end end w = Word.new([4, 6]) puts Word.method(:g) class-Word

ruby代码

class Word < Array
   def g
      puts "JJ"
   end
end

w = Word.new([4, 6])
puts Word.method(:g)
class-Word
产生以下错误:

main.rb:9:in `method': undefined method `g' for class `#<Class:Word>' (NameError)
        from main.rb:9:in `<main>'
main.rb:9:in'method':类`#'的未定义方法'g'(NameError)
从main.rb:9:in`'
因为
g
Word
的实例方法,而不是它的类方法

看起来实际上抛出此错误消息的是方法
method
。如果不是这样的话,我无法解释如何产生这样的错误消息

实际上是抛出此错误消息的方法吗

这里,我们将符号
:g
传递给方法
Word.method
,并等待其执行。ruby解释器无法预先知道这将是一个错误,只有当方法
方法
检查是否存在一个名称类似于符号
:g
的函数时,它(该方法)才能确定存在错误。控制台/解释器无法事先知道错误。

是。说明:

in `method'

在错误消息中,它的意思正是。

在一个接一个地发布问题之前,您是否有想法接受和/或与您之前问题的任何答案交流?因此方法“method”通过异常抛出错误消息?我说是的。