我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Ruby的变量有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Ruby的变量有哪些

这篇文章主要为大家展示了“Ruby的变量有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ruby的变量有哪些”这篇文章吧。

Ruby支持的有五种类型的变量,分别是全局变量、实例变量、类变量、局部变量、常量、伪变量。

Ruby的变量有哪些

Ruby 全局变量

全局变量以 $ 开头。未初始化的全局变量的值为 nil,在使用 -w 选项后,会产生警告。 给全局变量赋值会改变全局状态,所以不建议使用全局变量。 下面的实例显示了全局变量的用法。 实例

#!/usr/bin/ruby# -*- coding: UTF-8 -*-$global_variable = 10class Class1 def print_global     puts "全局变量在 Class1 中输出为 #$global_variable" endendclass Class2 def print_global     puts "全局变量在 Class2 中输出为 #$global_variable" endendclass1obj = Class1.newclass1obj.print_globalclass2obj = Class2.newclass2obj.print_global

在这里,$global_variable 是全局变量。这将产生以下结果: 注意:在 Ruby 中,您可以通过在变量或常量前面放置 # 字符,来访问任何变量或常量的值。

全局变量在 Class1 中输出为 10全局变量在 Class2 中输出为 10

Ruby 实例变量

实例变量以 @ 开头。未初始化的实例变量的值为 nil,在使用 -w 选项后,会产生警告。 下面的实例显示了实例变量的用法。 实例

#!/usr/bin/rubyclass Customer  def initialize(id, name, addr)     @cust_id=id     @cust_name=name     @cust_addr=addr  end  def display_details()     puts "Customer id #@cust_id"     puts "Customer name #@cust_name"     puts "Customer address #@cust_addr"   endend# 创建对象cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")cust2=Customer.new("2", "Poul", "New Empire road, Khandala")# 调用方法cust1.display_details()cust2.display_details()

在这里,@cust_id、@cust_name 和 @cust_addr 是实例变量。这将产生以下结果:

Customer id 1Customer name JohnCustomer address Wisdom Apartments, LudhiyaCustomer id 2Customer name PoulCustomer address New Empire road, Khandala

Ruby 类变量

类变量以 @@ 开头,且必须初始化后才能在方法定义中使用。 引用一个未初始化的类变量会产生错误。类变量在定义它的类或模块的子类或子模块中可共享使用。 在使用 -w 选项后,重载类变量会产生警告。 下面的实例显示了类变量的用法。 实例

#!/usr/bin/rubyclass Customer  @@no_of_customers=0  def initialize(id, name, addr)     @cust_id=id     @cust_name=name     @cust_addr=addr  end  def display_details()     puts "Customer id #@cust_id"     puts "Customer name #@cust_name"     puts "Customer address #@cust_addr"   end   def total_no_of_customers()      @@no_of_customers += 1      puts "Total number of customers: #@@no_of_customers"   endend# 创建对象cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")cust2=Customer.new("2", "Poul", "New Empire road, Khandala")# 调用方法cust1.total_no_of_customers()cust2.total_no_of_customers()

在这里,@@no_of_customers 是类变量。这将产生以下结果:

Total number of customers: 1Total number of customers: 2

Ruby 局部变量

局部变量以小写字母或下划线 _ 开头。局部变量的作用域从 class、module、def 或 do 到相对应的结尾或者从左大括号到右大括号 {}。 当调用一个未初始化的局部变量时,它被解释为调用一个不带参数的方法。 对未初始化的局部变量赋值也可以当作是变量声明。变量会一直存在,直到当前域结束为止。局部变量的生命周期在 Ruby 解析程序时确定。 在上面的实例中,局部变量是 id、name 和 addr。

Ruby 常量

常量以大写字母开头。定义在类或模块内的常量可以从类或模块的内部访问,定义在类或模块外的常量可以被全局访问。 常量不能定义在方法内。引用一个未初始化的常量会产生错误。对已经初始化的常量赋值会产生警告。 实例

#!/usr/bin/ruby# -*- coding: UTF-8 -*-class Example  VAR1 = 100  VAR2 = 200  def show      puts "第一个常量的值为 #{VAR1}"      puts "第二个常量的值为 #{VAR2}"  endend# 创建对象object=Example.new()object.show

在这里,VAR1 和 VAR2 是常量。这将产生以下结果:

第一个常量的值为 100第二个常量的值为 200

Ruby 伪变量

它们是特殊的变量,有着局部变量的外观,但行为却像常量。您不能给这些变量赋任何值。

  • 1.self: 当前方法的接收器对象。
  • 2.true: 代表 true 的值。
  • 3.false: 代表 false 的值。
  • 4.nil: 代表 undefined 的值。
  • 5.FILE: 当前源文件的名称。
  • 6.LINE: 当前行在源文件中的编号。

以上是“Ruby的变量有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Ruby的变量有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Ruby的变量有哪些

这篇文章主要为大家展示了“Ruby的变量有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ruby的变量有哪些”这篇文章吧。Ruby支持的有五种类型的变量,分别是全局变量、实例变量、类变量、局
2023-06-27

c#变量有哪些

c#变量类型定义:基本数据类型:整数、浮点数、布尔、字符、字符串引用数据类型:数组、类、结构、接口、委托变量声明:指定数据类型和变量名变量命名规则:字母、下划线开头,避免特殊字符和关键字,清晰简明变量作用域:局部、实例、静态C# 变量类型
c#变量有哪些
2024-04-04

CSS变量带来的质变有哪些

这篇文章主要介绍了CSS变量带来的质变有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、CSS变量带来的质变CSS变量带来的提升绝不仅仅是节约点CSS代码,以及降低CS
2023-06-08

常用的shell变量有哪些

小编给大家分享一下常用的shell变量有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一些常用的shell变量$# 传递到脚本的参数个数$* 以一个单字符串显
2023-06-27

JavaScript有哪些常量和变量

这篇文章主要介绍“JavaScript有哪些常量和变量”,在日常操作中,相信很多人在JavaScript有哪些常量和变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript有哪些常量和变量”的疑
2023-06-03

Java变量的概念有哪些

本篇内容主要讲解“Java变量的概念有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java变量的概念有哪些”吧!实例变量实例变量又被称为Instance variables。不使用 sta
2023-06-16

Ruby判断语句有哪些

本文小编为大家详细介绍“Ruby判断语句有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Ruby判断语句有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Ruby if…else 语句语法i
2023-06-27

php与ruby的区别有哪些

这篇文章给大家分享的是有关php与ruby的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php与ruby的区别:1、ruby中函数的调用可以把括号省略,而PHP中不能把括号省略;2、ruby中提供pr
2023-06-29

java成员变量有哪些

Java中的成员变量主要有以下几种类型:1. 实例变量(Instance Variables):也称为对象变量,每个类的实例都会拥有自己的一组实例变量。实例变量在类的任何方法之外声明,每个实例变量都有其自己的值。2. 静态变量(Static
2023-08-22

Shell变量知识有哪些

这篇文章主要介绍Shell变量知识有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言,涵盖的知识点多
2023-06-04

Bash变量类型有哪些

这篇文章主要介绍了Bash变量类型有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Bash变量类型有哪些文章都会有所收获,下面我们一起来看看吧。Bash变量类型本地变量局部变量环境变量位置变量特殊变量(内置
2023-06-28

Linux环境变量有哪些

Linux环境变量有很多,以下是一些常见的环境变量:1. PATH:指定系统查找可执行文件的路径2. HOME:用户的家目录路径3. USER:当前登录用户的用户名4. SHELL:指定用户默认的Shell程序5. LANG:指定系统默认的
2023-08-24

Java中的变量类型有哪些

小编给大家分享一下Java中的变量类型有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、局部变量在方法或语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。局部变量声明在方法
2023-06-25

Linux的bash变量类型有哪些

本篇内容介绍了“Linux的bash变量类型有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Bash变量类型本地变量局部变量环境变量位置
2023-06-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录