原文地址:http://blog.csdn.net/zhu_xz/article/details/4909241
这是根据当初自己学习Ruby时整理的一份笔记,希望对大家有用。在学习Ruby之前,我基本只使用C/C++开发,除了对Bash有点了解外,唯一用过的脚本语言就是OTcl。只希望这个笔记不至于太过混乱。关于Ruby的介绍我就不重复了,可以参考Wikipedia 或者Ruby官网 上的介绍。
在Ubuntu上,安装Ruby 非常简单:
sudo aptitude install ruby
不过目前默认安装的是1.8.7版本,如果要安装最新的1.9.1,则使用命令:
sudo aptitude install ruby1.9.1
然后运行ruby --version命令,就能看到当前安装的版本号了,例如:
ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
现在可以编写一个简单的Ruby脚本:
- #! /usr/bin/ruby
- # single line comment
- print "hello, ruby!/n"
- =begin
- multiple-line
- comment
- =end
保存该文件后,向其添加可执行权限,便可想执行其他脚本一样执行了。这里,第一行指明了用何种解释器来解释该脚本,第2行则是用“#”标识的单行注释 ,第3行打印,第4-第7行是包含在“=begin”和“=end”之间的多行注释。
虽然Java号称“一切都是对象”,却也提供了一大堆的简单类型。但在Ruby中,真的是“一切都是对象 ”,包括诸如0、7.7这样的数字。例如,你可以打印-7.7的绝对值:
- print -7.7.abs
既然都是对象,那怎样构建类和创建实例 呢?
- #! /usr/bin/ruby
- class YourClass
- def initialize(var = 0)
- @var = var
- end
- def yourFunction(yourParameter)
- print "#{@var}: #{yourParameter}"
- @var += 1
- end
- end
- obj = YourClass.new(2)
- obj.yourFunction "hello/n"
- obj.yourFunction "ruby class/n"
Ruby里,我们不使用括号来表明一个代码块,而是用end来标识代码块的结束。这里,定义了一个名为YourClass的类,包含一个initialize方法和一个yourFunction方法。
其中,initialize方法就是构造器,内部的@var是类成员变量,用“@”标识。
在yourFunction方法中,打印了这个@var成员变量和传入的参数。在以双引号标识的字符串中,“#{}”用于获取相应的变量值。
最后,用YourClass.new创建一个实例,并初始化@var的值为2,然后调用了两次yourFunction函数。输出结果如下:
2: hello
3: ruby class
完