Ruby 用这种方法';方法';是否抛出此错误消息?
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
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”通过异常抛出错误消息?我说是的。