原文:http://willh.org/cfc/wiki/index.php/%E6%96%B0%E6%89%8B%E6%95%99%E5%AD%B8:%E5%9F%BA%E6%9C%AC%E8%AA%9E%E6%B3%95

新手教学:基本语法

1.保留字

BEGIN     do      next    then
END       else    nil     true
alias     elsif   not     undef
and       end     or      unless
begin     ensure  redo    until
break     false   rescue  when
case      for     retry   while
class     if      return  yield
def       in      self    __FILE__
defined?  module  super   __LINE__

2.注释

写程序时常常会用到注释,以便日后在观看程序时可以快速回想该行(段)代码有何用处
在Ruby,写注释可以用一个“#”号

#这是注释

还可以用=begin跟=end来包住要注释的文字

=begin
这是注释文字
这是第二行
=end

3.数值
数值的表示方法与其它程序语言没有太大差异
Ruby支持大数(Bignum),Fixnum,浮点数(Float)

整数

123  #十进制
1_234 #有底线的十进制
O377 #很显然的,八进制
Oxff #当然是16进制啦
Ob1011 #0跟1组成的二进位
?a #打印出a的Ascii Code
12345678901234567890 #大数

浮点数

123.4 #如你所见,小数
1.0e6 #科学符号
4E20  #没用到“点(.)"
4e+20 #指数前的符号。

4.字符串

字符串是一组String类别
”abc“ --双引号字符串允许取代转义字符。
‘abc’ --单引号字符串不运行取代取代转义字符。

连接字符串

”foo“ ”bar“  #等同于”foobar“

表示式取代

#$var跟#@var是#{$var}跟#{@var}的缩写。用#{$变量名称}或者#{@变量名称}把变量嵌入
到字符串中。

5.数组
数组的写法
[] #一个空数组
[1,2,3]#含有三个元素的数组
[1,[2,3]] #含有数组的数组

你可以用以下方法写数组
%w(foo bar baz) #["foo","bar","baz"]

6.哈希表
一个哈希表是键和值的集合
{"id"=>"XY1000","name=>"Ruby","age"=>10}

7.变量
在Ruby中,有五中的变量形态:全局变量(Global variable),Instance variable,类变量(class
variable),局部变量(local variable)与常数。

全局变量:
 开头加上"$"
     $foo

Instance Variable
 开头加上"@"
  @foo
  
类变量
 开头加上"@@"
  @@foo
  
局部变量
 什么都没加
  foo
  
常数
 Foo
 
8.常数

常熟要怎样定义呢?在ruby中不用Const或者const来定义一个常数
在ruby中,只要名称开头是”大写“,就是常数!定义一个常熟为Foo:
Foo

9.流程控制
conditional是条件

if:

 if conditional [then]
  code
 [elsif conditional [then]
  code]
 [else
  code]
 end


 code if conditional


unless:

 unless conditional [then]
  code
 [else
  code]
 end

 code unless conditional

case:

 case expression
  [when expression[, expression...] [then]
  code]...
 [else
  code]
 end


while:

 while conditional [do]
  code
 end


 begin
  code
 end

until:

 until conditional [do]
  code
 end

 begin
  code
 end until conditional


for:

 for variable[, variable...] in expression [do]
  code
 end

Foreach:
 expression.each do |variable[, variable...]| code end