Ruby неопределенный вспомогательный метод - PullRequest
0 голосов
/ 15 января 2011

Я пишу простой скрипт ruby.Я хочу, чтобы при запуске скрипта отображалось справочное сообщение.

def myClass
    def help
        puts "Help message"
    end

    (...other methods...)

    help
    # main loop
    (...rest of script...)
end

Когда я его запускаю, я получаю «неопределенную локальную переменную или метод« help »для myClass: Class (NameError)».Почему ruby ​​не видит мой метод помощи?Рубин потерял его?Это уже определено!Я не могу определить это дальше!

1 Ответ

1 голос
/ 15 января 2011

вам нужно определить метод класса, у вас есть метод экземпляра.

class MyClass   
  def self.help
    puts "help"   
   end

  help

end

Чтобы уточнить немного

class MyClass
  def self.my_class_method
    puts 'class method'
  end

  def my_instance_method
    puts 'instance method'
  end
end

# class methods are called on teh class itself
MyClass.my_class_method

# instances methods are available on instances of the class
obj = MyClass.new
obj.my_instance_method
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...