无废话Ruby
cheungmine
本文是对Ruby最简单的总结,是根据网上有关资料收集整理,不保证全部内容都是正确的。旨在为Ruby开发的入门者提供一个快速的参考。
一、Ruby特点
解释型语言、面向对象、语法简单、容易上手、功能强大
二、Ruby作者
Matz,日本,1994发布、Ruby这个名字意为珍贵的宝石、pearl是六月的诞生石,ruby是七月的诞生石
三、Ruby优点
1 Ruby是解释型语言,其程序(.rb)无需编译即可执行
2 变量无类型
3 所有变量均无需声明即可立即使用
4 不需要内存管理, 自动垃圾回收
5 一切都是对象, 有面向对象语言的基本功能:类,继承,方法
6 可以向对象添加方法(类似javascript prototype)。例如,可以把按钮被按下时的动作作为方法
7 拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等
8 迭代器, 将循环抽象化
9 闭包:可以将某过程片段对象化---片段就称作闭包
10 强大的字符串操作(正则表达式)
11 拥有超长整数
12 具有错误处理功能
13 可以直接访问OS, 可以使用(UNIX)的系统调用
14 动态加载,可以在运行时读入对象文件
15 解释型语言,速度较慢
16 静态检查比较少
四、Ruby安装
只有一步:下载并解压即可。
直接下载的链接
http://rubyforge.org/frs/download.php/29867/InstantRails-2.0-win.zip
下载页面
http://rubyforge.org/frs/?group_id=904
说明:
在Windows下安装InstantRails-2.0-win, 解压到无空格的英文路径下即可,如C:\。
然后双击下面的文件即可启动:
C:\InstantRails-2.0-win\InstantRails.exe
点击界面左边的[I.]按钮,菜单选Rails Applications->Open Ruby Console Window
即
调出Ruby命令行。
这是一个带有Ruby 1.8.6和Rails 2.0.2,包含Mongel、MySQL和Apache的完整的RubyOnRails开发环境,
单独用来学习Ruby也是可以的。
当对RubyOnRails(用来开发网站的架构)更加熟悉之后,可以选择更高级的命令安装。
五、Ruby语法
1)Ruby区分大小写
2)# 后跟单行注释
3)=begin 和 =end 之前的是多行注释:
=begin
这之间是多行注释
也是Ruby的内嵌文档(Rdoc)注释,
类似javadoc,可以用命令ri从源文件生产文档。
=end
4)分隔符
; - 分号用来分隔一行中的多个语句
() - 圆括号提高优先级,定义方法时容纳参数列表
空格 - 分隔字符,在可省略()的地方代替()
, - 逗号隔开多个参数
. - 点将对象与它的方法隔开
:: - 双冒号域作用符,将模块(类)与它的常量隔开
5)关键字
模块定义:module
类定义: class
方法定义:def,undef
检查类型:defined?
条件语句:if,then,else,elsif,case,when,unless
循环语句:for,in,while,until,next,break,do,redo,retry,yield
逻辑判断:not,and,or
逻辑值: true,false
空值: nil
异常处理:rescue,ensure
对象引用:super,self
块的起始:begin/end
嵌入模块:BEGIN,END
文件相关:__FILE__,__LINE__
方法返回:return
别名: alias
6)运算符(优先级由高到低)
[]、[]=
数组下标、给数组元素赋值
**
乘冥
!、~、+、-
非、位非、一元加(正号)、负号
*、/、%
乘、除、模
+、-
加、减
>>、<<
移位:右移、左移
&
位与
^、|
位异或、位或
<=、<、>、>=
小于等于、小于、大于、大于等于
<=>、==、===、=~、!=、!~
各种相等判断(不能重写=~、!=、!~)
&&
短路与
||
短路或
..、...
区间的开始点到结束点
? :
三元条件运算符
=、%=、~=、/=、-=、+=、|=、&=、>>=、<<=、*=、&&=、||=、**=
各种赋值
defined?
检查类型
not
逻辑非
or、and
逻辑或、逻辑与
if、unless、while、until
判断与循环
begin、end
定义方法,类,模块的范围
ruby中没有"++"、"--"一类的运算符,但可以通过"+=1"、"-=1"实现
7)命名规则
Ruby 的标识符用来指向常量,变量,方法,类和模块。
Ruby的标识符区分大小写。
关键字不能用来当作常量,变量,方法,类或模块的名字。
标识符的首字符用来帮助我们确定标识所指向内容的作用域。
Ruby 使用一个约定来帮助它区别一个名字的用法:名字前面的第一个字符表明这个名字的用法:
局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;
全局变量用美元符作为前缀“$”;
而实例变量用“@”开头;
类变量用“@@” 开头;
类名、模块名和常量应该用大写字母开头。
词首字母后面可以是字母、数字和下划线的任意组合;“@”后面不可以直接跟数字。
Ruby 程序代码现在是用7位ACSII码来表示,通过语言扩展来支持UTF8等8位编码系统。
Ruby 2.0 版本将使用 16位的 Unicode 编码。
六、Ruby命令行
在Windows下调出Ruby命令行:
1)单行执行Ruby
>ruby -e 'puts "hello world!"'
hello world!
2)执行Ruby文件,这也是最常用的
>ruby hello.rb
hello world!
其中hello.rb内容:
puts "hello world!"
3)交互式执行irb
>irb --simple-prompt
或
>irb
然后输入Ruby语句,即可交互式执行
>irb --simple-prompt # Start irb from the simple terminal
>> 2**3 # Try exponentiation
=> 8 # This is the result
>> "Ruby! " * 3 # Try string repetition
=> "Ruby! Ruby! Ruby! " # The result
>> 1.upto(3){|x| puts x } # Try an iterator
1 # Three lines of output
2 # Because we called puts 3 times
3
=> 1 # The return value of 1.upto(3)
>> quit # Exit irb
$ # Back to the terminal prompt
4)查看Ruby文档ri(ruby index)
在命令行提示下输入:
ri Array
ri Array.sort
ri Hash#each
ri Math::sqrt
可以显示帮助文档。这个是编程中经常用的,相当于在线手册。退出ri模式要按Q。
七、从来结束都是开始
再说都是废话了,想学的可以开始了。学习Ruby更多的是为了学习 Ruby On Rails,
因此,本文就是一个起点,读者从此开始Ruby和Rails的漫漫征程吧,相信我,你的
付出绝对是有回报的。