`
wlo_o
  • 浏览: 50521 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

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

    博客分类:
  • ruby
阅读更多

源代码

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#

分享到:
评论

相关推荐

    Extjs 5 学习笔记

    ### Extjs 5 学习笔记之 SenchaCmd 深入解析 #### 一、SenchaCmd 的简介 SenchaCmd 是一个跨平台的命令行工具,它为基于 ExtJS 和 Sencha Touch 应用程序的开发周期提供了全面的支持。从创建应用程序的基础结构到...

    Ruby_on_Rails笔记

    #### 二、基础知识准备 ##### 2.1 安装Ruby - **下载Ruby**: 访问`http://rubyinstaller.rubyforge.org`下载Ruby安装包。 - **安装Ruby**: 按照安装向导提示进行操作。 - **验证安装**: 使用命令`ruby -v`来检查Ruby...

    ruby on rails 实践

    即便读者没有Ruby和Rails的使用经验,本书也准备了从安装Ruby环境到完成Rails项目的所有步骤。 在Ruby on Rails开发环境中,Rails实践目录分为几个主要部分,每个部分都有特定的学习目标和内容。 第一章“Ruby on ...

    我的ror的第一天

    1. **环境准备**:确保计算机上已安装了Ruby编程语言,可以通过Ruby官网下载并按照指示进行安装。Ruby版本管理器如RVM(Ruby Version Manager)或rbenv可以帮助管理不同的Ruby版本。 2. **安装Rails**:在Ruby安装...

    phase_2_study_guide

    在Ruby编程语言的学习旅程中,"Phase 2 Study Guide" 是一个重要的里程碑,它通常代表开发者已经掌握了基础知识,准备深入到更高级的概念和技术。这个压缩包文件“phase_2_study_guide-master”可能包含一系列的教程...

    DWC_practice:在DMM Web Camp上完成的学习资料库的汇编

    由于描述简洁,没有提供更多的具体信息,我们可推测这份压缩包可能包含各种实践活动的详细内容,比如项目源码、练习说明、学习笔记等,用于帮助用户深入了解和掌握Ruby编程语言和Web开发技术。 【标签解析】 "Ruby...

    发射学校核心课程:发射学校核心课程的笔记和练习

    总的来说,【发射学校核心课程:发射学校核心课程的笔记和练习】是一个全面的编程学习路径,涵盖了从基础知识到高级技术的各个方面,通过实践练习帮助学员扎实掌握Ruby编程和后端开发技能,为未来的职业发展打下坚实...

    presentations:我的演讲

    2. **规划内容**:从基础概念开始,逐步引入进阶主题,确保逻辑连贯。 3. **设计幻灯片**:使用简洁的视觉设计,避免过多文字,用图表和代码示例来辅助讲解。 4. **编写脚本**:为每个部分准备详细的解说词,确保...

    Web-Development-Education-and-Certifications

    在"Web-Development-Education-and-Certifications-main"这个压缩包中,可能包含的资源可能有课程大纲、学习笔记、实践项目、模拟测试题和认证指南。利用这些资源,你可以系统地学习Web开发,并准备相关的专业认证...

    Fullstack-Learning

    这个名为"Fullstack-Learning"的资源集合是专为那些想要成为全栈开发人员或者提升自己全栈能力的学习者准备的。由杰丁创建并维护,这个资源集合将按照特定的顺序引导学习者逐步深入全栈开发的世界。 全栈开发涉及到...

Global site tag (gtag.js) - Google Analytics