Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。
Ruby的变量有一定的规则,以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量。
常数则以大写字母开头这种方法,对文本编辑器的命令补全很有帮助,如在vim下先键入$及开头字母,再敲击Ctrl+p,则可专门补全本文件以及关联文件中的全局变量,perl与php亦有此优点。
已经定义的类可以在运行时修改
Ruby是动态语言,你可以在程序中修改先前定义过的类。 也可以在某个类的实例中定义该实例特有的方法,这叫做单例方法。
使用Ruby可以写出简短而又功能强大的代码
下面的方法用来完成两个矩阵的乘积
注:ruby标准库中已包含矩阵库 Matrix
ret是数组吧。【猜测】push是在数组尾端加入一个元素
push("")就是在尾端加入空串。
比如说原来
ret=[1, 2]
执行完
ret就是[1, 2, ""]
其实ruby里实例变量和类变量的含义与java或者c++中的含义是一样的。只是使用起来更方便。简单说就是实例变量属于每一个对象自己,而类变量被所有该类的对象共享。class Person@@count = 0 # 这是一个类变量,即使没有该类的对象被创建,也可以访问
def initialize(name)
@name = name # 这是一个实例变量,每个对象可以自己单独赋值
@@count += 1
end
# 这是一个类方法,可以通过类名访问类变量
def self.getCount
puts "count = #{@@count}"
end
# 这是一个对象方法,只能通过对象实例调用,但也可访问类变量
def sayHi
puts "Hi, I'm #{@name}. There are #{@@count} people."
end
endPerson.getCount # 没有对象创建,也能访问类变量p1 = Person.new("Jacky")
p1.sayHi
Person.getCountp2 = Person.new("Lily")
p2.sayHi
Person.getCount
输出:count = 0
Hi, I'm Jacky. There are 1 people.
count = 1
Hi, I'm Lily. There are 2 people.
count = 2