[Ruby 学习笔记] 2. 基础准备

源代码

Ruby 源代码通常使用 UTF-8、ASCII 等格式,它是一种基于行的语言,如果我们将多行代码写在一个物理行,那么可以使用 ";" 来分隔。

a = Class1.new(123); b = Class1.new(123)

我们也可以使用连接符 "\" 将单行代码写成多行。如果分隔位置以操作符结尾,则连接符可省略。 (注意!"\" 后面不能包含任何字符,包括空格和注释,否则会导致语法错误。)
x1 = 1 + 2 \
  + 3
  
x2 = 1 + 2 +
  3

单行注释以 # 开始,直到物理行结束;多行注释以 "=begin" 行开始,"=end" 行结束。
=begin
Copyright (c) RainTrail Studio. China
All Rights Reserved! 2007
=end

a = Class1.new(123) # new object;

每个源代码文件都可以声明自己被装载和程序执行结束后要执行的代码块。
BEGIN {
  puts "Start..." 
}

END {
  puts "End!"
}

BEGIN 和 END 代码块都可以定义多次。(Eclipse / RDT 环境下,似乎不能将 "{" 写在单独行,否则会出错。)

环境变量

Ruby 程序在执行时,会提供一些环境变量供程序代码读取。

$0 : 被执行程序的名字,通常是程序的文件名。
$* : 程序执行参数。
__FILE__ : 当前源文件的名字。

__FILE__ 和 $0 通常组合起来使用,用于判断当前文件是否是直接被执行的主程序文件。
if __FILE__ == $0
  puts "Main..."
end

Object

和多数语言一样,Object 是 Ruby 所有类的祖先,它的方法自然会被所有的子类继承。

obj.object_id() : 输出对象唯一标识符。
obj.class() : 返回对象类型(type)。
obj.eql?(obj2) : 判断两个对象值是否相同。
obj.equal?(obj2) : 判断两个对象 ID 是否相同。
obj.instance_of?(class) : 判断对象是否指定类的实例。
obj.kind_of?(class) : 判断对象是否指定类或其子类的实例。
obj.nil?() : 判断对象引用是否为空。
obj.to_s() : 返回对象字符串表示。
class Class1
  def initialize(i)
    @i = i
  end
end

a = Class1.new(123)
b = Class1.new(123)

puts a.object_id
puts a.class
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 : 打印对象信息。

 

转自http://www.rainsts.net/article.asp?id=526#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值