从Ruby中的第二级调用第二级函数

时间:2014-12-30 17:04:57

标签: ruby function scope

我有以下代码结构:

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)

如何在给定范围内调用此函数?

1 个答案:

答案 0 :(得分:0)

您所指的范围是该类的范围 - Test。方法something实际上被定义为类instance method的{​​{1}}。你不能真正从类范围调用实例方法,因此错误。