我有以下代码结构:
class Test
def self.test
def something
return 'test'
end
@test = something()
print(@test)
end
end
如果我尝试运行此代码,Ruby会给我这个错误:
test.rb:33:in
测试&#39 ;:未定义的方法something' for Test:Class (NoMethodError)
如何在给定范围内调用此函数?
答案 0 :(得分:0)
您所指的范围是该类的范围 - Test
。方法something
实际上被定义为类instance method
的{{1}}。你不能真正从类范围调用实例方法,因此错误。