调用类的构造函数创建对象的方式如下:
song1 = Song.new(“Ruby Tuesday”)
song2 = Song.new(“Enveloped in Python”)
方法调用,即是向对象发送消息,格式为:接收者.消息名,例如:
“ginjoint”.length
“Rick”.index(“c”)
-1942.abs
注:Ruby和Java不同,Java里提供的工具类静态方法,例如Math里的静态方法,在Ruby都通过对象调用。例如:
//Java code
number = Math.abs(number)
//Ruby code
number =number.abs
使用def定义方法,用end结束定义
def sayGoodnight(name)
result = “Goodnight, “ + name
return result
end
调用方法时的参数传递,可以这样:sayGoodnight(“John-Boy”)
也可以这样sayGoodnight “John-Boy”
字符串常量可以用单引号和双引号。单引号内的字符串,Ruby不会做处理。双引号里的字符串,Ruby会寻找出诸如“\n”、#{name}进行处理,例如
def sayGoodnight(name)
result = “Goodnight, \n #{name}”
return result
end
在字符串的#{expression}里,expression可以是任意表达式。如果expression是全局变量、实例变量和类变量,可以省略{}
方法的返回值是方法体里最后一句表达式的值,所以sayGoodnight可以略去return语句,如下
def sayGoodnight(name)
“Goodnight,\n #{name}”
end
Ruby命名规范
-
局部变量、方法名称和方法参数:以小写字母开头
-
全局变量:以$开头
-
实例变量:以@开头
-
类变量:以@@开头
-
类名,模块名和常量,以大写字母开头