源代码
Ruby 源代码通常使用 UTF-8、ASCII 等格式它是种基于行语言如果我们将多行代码写在个物理行那么可以使用 ";" 来分隔
a = Class1.(123); b = Class1.(123)
我们也可以使用连接符 "\" 将单行代码写成多行如果分隔位置以操作符结尾则连接符可省略 (注意!"\" 后面不能包含任何包括空格和注释否则会导致语法)
x1 = 1 + 2 \
+ 3
x2 = 1 + 2 +
3
单行注释以 # 开始直到物理行结束;多行注释以 "=begin" 行开始"=end" 行结束
=begin
Copyright (c) RainTrail Studio. China
All Rights Reserved! 2007
=end
a = Class1.(123) # object;
每个源代码文件都可以声明自己被装载和执行结束后要执行代码块
BEGIN {
puts "Start..."
}
END {
puts "End!"
}
BEGIN 和 END 代码块都可以定义多次(Eclipse / RDT 环境下似乎不能将 "{" 写在单独行否则会出错)
环境变量
Ruby 在执行时会提供些环境变量供代码读取
$0 : 被执行名字通常是文件名
$* : 执行参数
__FILE__ : 当前源文件名字
__FILE__ 和 $0 通常组合起来使用用于判断当前文件是否是直接被执行主文件
__FILE__ $0
puts "Main..."
end
Object
和多数语言样Object 是 Ruby 所有类祖先它思路方法自然会被所有子类继承
obj.object_id : 输出对象唯标识符
obj. : 返回对象类型(type)
obj.eql?(obj2) : 判断两个对象值是否相同
obj.equal?(obj2) : 判断两个对象 ID 是否相同
obj.instance_of?() : 判断对象是否指定类例子
obj.kind_of?() : 判断对象是否指定类或其子类例子
obj.nil? : 判断对象引用是否为空
obj.to_s : 返回对象串表示
Class1
def initialize(i)
@i = i
end
end
a = Class1.(123)
b = Class1.(123)
puts a.object_id
puts a.
puts a.eql?(b)
puts a.equal?(b)
puts a.instance_of?(Class1)
puts a.kind_of?(Object)
puts a.nil?
puts a.to_s
输出:
21627090
Class1
false
false
true
true
false
#<Class1:0x29401a4>
Kernel
我们可以在任何地方 Kernel 思路方法具体原因我们再后面细说
exit : 终止脚本运行
global_variables : 返回全局变量名字
local_variables : 返回当前局部变量名字
puts : 打印对象信息
最新评论