`
qw232144
  • 浏览: 35289 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Ruby 入门-- 变量和常量

 
阅读更多

局部变量

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

val = 5 if false
虽然 val 未被赋值,但声明还是有效的,此时 val 的值是 nil(相当于 C# 中的 null)。
实例变量
所有实例变量都是 @ 字符打头的标识符,未被初始化的实例变量值为 nil。

 

class Employee
  @empId
end
 

类变量

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

 

 1module Company
 2  @@companyName = "Hello Ruby."
 3
 4  class Employee
 5    def display
 6      print "#@companyName"
 7    end
 8  end
 9
10  class Department
11    def display
12      print "#@companyName"
13    end
14  end
15end
 

全局变量

全局变量无需声明,所有以 $ 开始的标识符都是全局变量,能够在程序的任何地方引用它,未赋值的全局变量值为 nil。
1module Company
 2  class Employee
 3    def display
 4      # nil
 5      print "#$companyName"
 6      $companyName = "Hello Ruby."
 7    end
 8  end
 9
10  class Department
11    def display
12      # Hello Ruby.
13      print "#$companyName"
14    end
15  end
16end
 

伪变量

在 Ruby 中有一种被称为伪变量的标识符,伪变量有一点像环境变量,同时它也是只读的。
# 当前方法的执行主体
print "#{self}"

# NilClass类的唯一实例
print "#{nil}"

# TrueClass 类的唯一实例
print "#{true}"

# FalseClass 类的唯一实例
print "#{false}"

# 当前源文件名
print "#{__FILE__}"

# 当前源文件中的行号
print "#{__LINE__}"
 

常量

以大写字母打头的标识符是常量,对常量进行二次赋值解释器会提示警告,而引用未被赋值的常量实抛出 NameError 异常。在类、模块外部定义的常量属于 Object,可以使用“::常量名”引用属于 Object 的常量,以“模块名/类名::常量名”的形式引用外部的常量。
 1# 属于 Object 的常量
 2GroupName = "心守家园"
 3
 4module Site
 5  SiteUrl = "http://www.you2v.com"
 6
 7  class Sichuan
 8    Add = "凉山"
 9    # 引用属于 Object 的常量
10    print "#{::GroupName}"
11  end
12end
13
14# 直接引用类名、模块名
15# 引用属于 Object 的模块时可以省略“::”
16print "#{::Site}\n#{Site::Sichuan}"
17# 属于模块的常量
18print "#{Site::SiteUrl}"
19# 属于类的常量
20print "#{Site::Sichuan::Add}"
 当引用模块和类中同名的常量时,优先引用嵌套树外侧的常量, Object 的优先度最低,不过我建议大家尽量不使用同名常量。
分享到:
评论

相关推荐

    ruby入门到精通

    1. **基础语法**:包括变量(本地、实例、类和全局变量)、常量、符号、字符串、数字、数组和哈希等基本数据类型。理解它们的定义、用法和操作方式是学习任何编程语言的第一步。 2. **控制结构**:条件语句(如if/...

    Ruby入门教程 pdf文字版

    本教程是为那些想要快速入门Ruby编程的初学者准备的,它以易读性和实用性为特点,旨在帮助你迅速掌握Ruby的基础知识。 1. **Ruby的基本概念** - **变量**:Ruby中的变量分为局部变量、实例变量、类变量和全局变量...

    ruby入门中文合集

    1. **Ruby基础语法**:了解Ruby的变量(局部变量、实例变量、类变量和全局变量)、常量、数据类型(包括字符串、数字、布尔值、数组、哈希等)以及控制结构(如条件语句、循环和范围表达式)。 2. **面向对象编程**...

    二十分钟Ruby入门教程

    在二十分钟的Ruby入门教程中,我们将快速浏览Ruby的基础知识,包括语法、数据类型、控制结构以及简单的类定义。 首先,让我们从Ruby的基本语法开始。Ruby的注释以`#`字符开始,一直持续到行尾。例如: ```ruby # 这...

    ruby入门练习题.zip

    这个"ruby入门练习题.zip"文件显然是为了帮助初学者逐步掌握Ruby编程的基础和面向对象的概念。以下是一些关于Ruby语言和面向对象编程的重要知识点: 1. **Ruby的起源与特点**:Ruby由日本人松本行弘在1993年创建,...

    Ruby基础教程,RUBY入门必备啊~

    Ruby是一种面向对象的编程...这个入门教程对于初学者来说是非常宝贵的资源,它将帮助读者快速掌握Ruby的基础知识,并为深入学习和实践打下坚实的基础。通过打印文档,读者可以在离线环境下随时查阅,方便学习和参考。

    Ruby入门培训ppt/pdf及代码

    **Ruby入门培训** Ruby是一种面向对象的编程语言,由日本...总之,Ruby入门需要对基本概念有清晰的认识,并通过大量实践来熟悉其语法和编程思维。这个压缩包提供了一个很好的起点,可以帮助初学者快速步入Ruby的世界。

    有关Ruby入门文章

    1. 变量:Ruby有四种变量类型,分别是局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)和全局变量(以`$`开头)。它们各自的作用域不同,使用时需注意。 2. 控制结构:Ruby支持...

    Ruby 从入门到精通

    - **变量**:Ruby有四种变量,分别是局部变量、实例变量、类变量和全局变量,它们以不同的符号开头(@, @@, $)。 - **控制结构**:Ruby支持条件语句(if/else/unless)、循环(for, while, until, each)和块...

    《Ruby从入门到精通》PDF版本下载.txt

    1. **变量与常量**:Ruby中的变量分为局部变量、实例变量、类变量和全局变量等不同类型。常量则用于存储固定不变的数据。 2. **数据类型**:包括数值类型(整型、浮点型等)、字符串、数组、哈希表等。 3. **控制...

    Ruby语言入门教程v1.0

    - Ruby有局部变量、实例变量、类变量和全局变量,每种都有特定的标识符前缀。 - 常量以大写字母开头,但并不强制不可改变,只是修改会发出警告。 2.2 **运算符** - Ruby支持常见的算术、比较、逻辑等运算符,并...

    ruby语言入门教程

    - 变量:Ruby中的变量分为五种类型,分别是局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)、全局变量(以`$`开头)和常量(以大写字母开头)。 - 数据类型:包括字符串、数字...

    Ruby从入门到精通

    Ruby还支持模块,用于封装方法和常量,可以实现类似命名空间的功能。 Ruby的控制结构使程序能够根据条件执行不同代码块。例如,if-else语句用于进行条件判断,while和for循环用于重复执行代码。Ruby还提供了一种...

    Ruby入门教程

    ### Ruby入门教程知识点详解 #### 一、Ruby语言概述 **1.1 Ruby的历史** Ruby是一种面向对象的脚本语言,由日本人松本行弘(Matz)于1995年开始开发。Ruby的设计理念是“使编程人员快乐”,因此它具有简洁、直观...

    RUBY入门教程,新手人们

    1. 变量:Ruby有四种基本类型的变量,分别是局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)和全局变量(以`$`开头)。它们各自的作用域不同,理解这些变量的使用方式是学习Ruby...

    Ruby语言入门教程

    Ruby还支持模块(Module),它是组织代码的一种方式,可以包含常量、类方法和实例方法。模块可以被混入(include)到类中,实现代码的复用。这对于创建类之间的关系,尤其是横向关系非常有用。 Ruby的块(Block)和...

    Ruby语言入门教程v1

    本入门教程“Ruby语言入门教程v1”旨在帮助初学者快速掌握Ruby的基础知识和核心概念,以便能轻松地进行编程。 Ruby的起源: Ruby由日本人松本行弘在1995年创造,其设计目标是强调程序员的生产力和代码的可读性。它...

    RUBY基础入门指南

    ### RUBY基础入门指南 #### 一、Ruby语言概述 **1.1 Ruby的历史** Ruby是一种面向对象的脚本语言,由日本人松本行弘(Yukihiro Matsumoto)于1995年开始开发。它结合了Perl的灵活性、Smalltalk的强大功能以及Ada...

Global site tag (gtag.js) - Google Analytics