现有如下类Test,请注意类方法talk02和类方法talk03
下面分别调用类方法talk02和类方法talk03
问题:
为什么类方法02和03中调用self.talk01和talk01这两种调用方式的结果相同?我本来担心调用talk03的时候会报错,说找不到talk01这个方法,调用talk03的时候,各个上下文都是怎样的?
class Test
def self.talk01
puts "kaishi"
end
def self.talk02
self.talk01
end
def self.talk03
talk01
end
end下面分别调用类方法talk02和类方法talk03
puts "TestAPIToken.talk02:"
TestAPIToken.talk02
puts "TestAPIToken.talk03:"
TestAPIToken.talk03问题:
为什么类方法02和03中调用self.talk01和talk01这两种调用方式的结果相同?我本来担心调用talk03的时候会报错,说找不到talk01这个方法,调用talk03的时候,各个上下文都是怎样的?
本文探讨了Ruby中类方法的调用方式,通过具体示例对比了使用self.方法名与直接调用方法名的区别,并分析了上下文对方法查找的影响。
27

被折叠的 条评论
为什么被折叠?



