我正在努力理解理解OOP。 我正在尝试使用IRB来玩Ruby并加深我的理解。
在IRB
foo = Object.new
创建一个新对象 但是,如果我尝试给定义一个定义并在该对象上调用它它就不起作用。 (def必须在.rb文件中发生并加载到Ruby中吗?)
def bar "hello" end
答案 0 :(得分:4)
您需要在要应用它的类中定义方法。
class NewObject
def foo
puts "hello"
end
end
这些方法被称为:
x = NewObject.new
x.foo
您可以通过定义方法来创建不特定于类的方法:
def bar
puts "bar!"
end
并将其称为:
bar
答案 1 :(得分:0)
使用pry
gem install pry
比irb
ruby中的所有内容都是一个对象
对象上的点表示意味着这是该对象的方法
这就是你需要将它包装在类/模块
中的原因我建议在这里阅读更多信息: https://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/45-more-classes/lessons/113-class-variables