我正在编写一个简单的ruby脚本。我希望在运行脚本时显示帮助消息。
def myClass
def help
puts "Help message"
end
(...other methods...)
help
# main loop
(...rest of script...)
end
当我运行它时,我得到“myClass:Class(NameError)”的“未定义的局部变量或方法'帮助'”。红宝石为什么不看我的帮助方法?红宝石失去了吗?它已经定义了!我无法进一步定义它!
答案 0 :(得分:1)
你需要定义一个类方法,你有一个实例方法。
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