在 irb 中定义和调用方法

Defining and calling a method in irb

我正在努力理解 OOP。 我正在尝试使用IRB来玩弄Ruby并加深我的理解。

在 IRB

foo = Object.new

创建一个新对象 但是,如果我尝试给 irb 一个定义并在该对象上调用它,它就不起作用。 (def 是否必须在 .rb 文件中发生并加载到 Ruby?)

def bar "hello" end

您需要在 class 中定义要应用的方法。

class NewObject
  def foo
    puts "hello"
  end
end

这些方法的调用方式如下:

x = NewObject.new
x.foo

您可以创建不特定于 class 的方法,只需定义它们即可:

 def bar
   puts "bar!"
 end

并称它们为:

bar

使用pry

gem install pry

irb

ruby 中的所有内容都是对象

对象上的点表示法表示这是该对象的一个​​方法

这就是为什么您需要将其包装在 class / 模块

我建议阅读此处了解更多信息: https://rubymonk.com/learning/books/4-ruby-primer-ascent/chapters/45-more-classes/lessons/113-class-variables