在 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
我正在努力理解 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