娃娃鸭学Ruby-6、句法结构
6.1表达式
初级表达式
数字和字符串字面量就是初级表达式
特定关键字:true false nil self
对变量的引用也是初级表达式,对它们进行求值的结果就是指向的变量的值。
复合表达式
[1,2,3] #数组
{1=>"one",2=>"two"} #Hash
1..3 # A Range literal
操作符用于对多个值进行计算,通过操作符来组合更简单的子表达式构成复合表达式
1 #初级表达式
x #另一初级表达式
x=1 #赋值
x=x+1 #两个操作符的表达式
语句
表达式和Ruby的关键字联合起来构成语句。
if x<10 then
x=x+1
end
while x<10 do
print x
x=x+1
end
方法
类 互操作的方法组合成类
相互关联的类及独立于那些类的一些方法组织成模块
6.2块结构
块状结构
模块、类、方法定义及绝大多数Ruby语句都包含由嵌套代码所构成的块。
这些块由关键字或标点符号进行分隔,而按照惯例,使用两个空格符的缩进。
块(block)
3.times {print "Ruby! "}
1.upto(10) do |x|
print x
end
通常情况下,块的代码多于一行,那么就采用do和end 分界符。两空格缩进
体(body)
语句列表,包括定义体、方法定义体,while循环体等诸如此类的结构。
注意:
Ruby的体永远不会用花括号作为分界符,而是采用关键字。
module Stats
class Dataset
def initialize(filename)
IO.foreach(filename) do |line|
if line[0,1]=="#"
next
end
end
end
end
end
2011-3-30 15:51 danny