classGame definitialize(title = "怪物猎人世界", price = 200) @title = title @price = price end defshow() puts "标题: #{@title}" puts "价格: #{@price}" end defshow2() end defshow3() end end
puts Game.instance_methods(false)
# mhw = Game.new(); # mhw.show();
respond_to?/send
respond_to?:调查对象的方法/属性是否可用
send:执行对象的方法
结合这两个函数,可以进行一些设计模式的实现和开发。
1 2 3 4 5
... mario = Game.new("超级马里奥", 350); if mario.respond_to?("show") #判断对象是否存在show方法 mario.send("show") #执行指定的方法 end