我们很清楚Ruby是一种面向对象的脚本编程语言。因此,我们在Ruby中所做的一切都与object直接相关。Ruby程序也可以视为令牌流。令牌不过是各种Ruby关键字,运算符和各种文字而已。如果考虑到语义视图,则对象将成为Ruby程序的主要部分。
在Ruby程序执行期间创建,操作和销毁对象。
Ruby中有两种类型的对象:
内置对象
Ruby具有丰富的库集,可提高编程效率。内置对象来自那些预定义的库。应用程序程序员可以使用它们,并且可以根据其代码要求使用它们。
定制对象
定制对象由应用程序程序员根据其程序的需求在代码中使用之前创建。
对象创建也可以称为对象实例化。一个对象由两部分组成:第一个称为Data,第二个称为Method或Function。
“ puts”和“ gets”是我们的Ruby程序中两个最常用的方法。让我们看看它们属于哪个对象。
遵守以下代码:
代码1
puts "What is your name?" name = gets.chomp puts "Hi #{name}, Have a great day!!"
代码2
Kernel.puts "What is your name?" name = Kernel.gets.chomp Kernel.puts "Hi #{name}, Have a great day!!"
您会发现puts和gets也可以与称为Kernel的单词一起使用,并且Kernel是封装这两种方法的实际对象,就像Java中的System.println和C#中的Console.writeln一样。puts和gets方法是Kernel模块的一部分。
我们还可以按照以下方式计算字符串的大小。
Kernel.puts "What is your name?".size
输出结果
18
如果您已经完成了其他语言的编程,那么上面的内容可能会使您感到困惑,因为String是原始数据类型,并且没有其方法。但是我们知道Ruby是不同的,Ruby将String用作具有其方法的完整对象。在上面的代码中,我们使用其方法size之一,该方法最终返回字符串的大小。
现在,给String休息一下,让我们谈谈整数。整数在其他语言中也属于原始数据类型,但在Ruby中,它们又纯粹是具有某些方法的对象。让我们看看它的一些方法。
puts 3.object_id puts 4.even? puts 9.odd? puts 7.class
输出结果
7 true true Integer
仔细观察上面的代码,您会发现Integer对象的方法是:
.object_id
每个对象都有一个ID。此方法object_id返回与该对象关联的ID。
.even?/.odd?
该方法检查整数是偶数还是奇数,并将值返回为True或False。
.class
此方法返回对象所属的类。
有两种创建对象的方法。隐式对象的创建是在文字符号的帮助下完成的。显式对象创建是通过“ new”关键字创建的对象。使用“ new”关键字来创建自定义对象。
考虑下面给出的示例,以更好地理解该概念,
str = String.new "Include PHP" puts str.size puts str.upcase puts str.downcase
输出结果
12 INCLUDE PHP include php
上面的示例演示了创建String对象的正式方法。它还显示了String对象的一些方法。