Ruby入门

http://tech.ddvip.com   2008年01月18日    社区交流

本文详细介绍Ruby入门

  基于只要现出 BEGIN 就会得到执行和 BEGIN 在所有代码执行之前执行的原则,即使 BEGIN 块前出现了代码,该代码仍然会等待 BEGIN 块执行之后再执行。比如下面的代码段输出结果仍然是 OnInit - OnLoad - Running。

print "OnLoad(object sender, EventArgs args)
"
BEGIN{
print "OnInit(object sender, EventArgs args)
"
}
print "Running"

  END 块

  END 块与 BEGIN 块相反,在所有代码执行之后执行,多个 END 块时最先出现的 END 块最后执行。除此之外,END 块虽然不受 while 的影响,但是可能通过 if 来控制 END 块的执行与否。比如下面代码的输出结果就是 Start - Load - Unload。

if false
END{
# 永远不输出
print "Init"
}
end
END{
# 最后输出
print "Unload
"
}
END{
# 先于 Unload 输出
print "Load
"
}
# 最先输出
print "Start
"

  三、变量和常量

  局部变量

  以小写字母或下划线开头的标识符在 Ruby 中即为局部变量(如果引用未被声明的标识符则会被解释成无参数的方法调用)。

val = 5 if false

  虽然 val 未被赋值,但声明还是有效的,此时 val 的值是 nil(相当于 C# 中的 null)。

  实例变量

  所有实例变量都是 @ 字符打头的标识符,未被初始化的实例变量值为 nil。

class Employee
@empId
end

  类变量

  以 @@ 开头的标识符是类变量。在 module 中定义的模块变量能够被所有包含该 module 的类访问。

责编:豆豆技术应用

正在加载评论...