『Ruby』变量与伪变量
发布日期:2021-06-28 20:00:25
浏览次数:2
分类:技术文章
本文共 1111 字,大约阅读时间需要 3 分钟。
文章目录
一、支持的变量
Ruby支持五种类型的变量
- 变量(局部变量)
- 全局变量
- 实例变量
- 类变量
- 常数
Ⅰ、变量 Variable
普通变量也是局部变量,以小写、下划线开头,在方法中定义、在方法中使用,与大部分语言相同
def show a = 1 puts "a is #{ a}"endshow
a is 1
使用
#{expr}
格式化输出变量
Ⅱ、全局变量 Global variable
全局变量以$符号开头,能够跨类、方法调用
$glob = 1def show puts "$glob is #$glob"endclass Test1 def show puts "$glob is #{ $glob}" endendclass Test2 def show puts "$glob is #{ $glob}" endendshowt1 = Test1.newt1.showt2 = Test2.newt2.show
$glob is 1$glob is 1$glob is 1
字符串格式化输出全局变量时,在双引号内使用
#$xxx
,当然#{$xxx}
也可以
Ⅲ、实例变量 Instance variable
实例变量以@开头,对同一个实例、对象中所有方法共享,与this.xxx
相同,不再赘述
class T def initialize(a) @a = a end def show puts "@a is #@a" endendt = T.newt.show
@a is 1
字符串格式化输出实例变量时,在双引号内使用
#@xxx
即可
Ⅳ、类变量 Class variable
类变量以@@开头,类似private,它是同一个类所有实例共享的变量,不同实例都可以调用
class T @@a = 1 def show puts "@@a is #@@a" end def add @@a += 1 endendt1 = T.newt2 = T.newt2.showt1.addt2.show
@@a is 1@@a is 2
字符串格式化输出类变量时,在双引号内使用
#@@xxx
即可
Ⅴ、常数 Constant
常数以大写字母开头,为了区分,通常全大写,注意,常数不能在类方法中定义
VAR = 1
二、伪变量
等价于C的内置宏、PHP常量等,是一些内置变量
- self:当前方法的接收器对象
- true
- false
- nil:undefined,未定义变量的默认值
- __FILE__:当前文件名
- __LINE__:当前行号
完
转载地址:https://blog.csdn.net/Xxy605/article/details/117525940 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月29日 17时09分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PC机win10练习v-P-n连接 虚拟机Win2003
2019-04-29
虚拟机-安装VMware Tools
2019-04-29
xshell连接VM centOS7
2019-04-29
bat脚本交互动态输入端口启动jar包
2019-04-29
mysql单个字段查询时设置是否区分大小写
2019-04-29
整合vue开发H5+跨平台app (以开发语音识别为例)
2019-04-29
windows自带的网络调试工具整理
2019-04-29
自定义一个Chrome翻译插件
2019-04-29
motan rpc 接口统一异常处理
2019-04-29
解析文件入库乱码问题解决
2019-04-29
clickhouse 条件语句内decimal除0报错处理
2019-04-29
应用启动后立马自动停了怎么处理
2019-04-29
Java motan网关设计
2019-04-29
java中的二进制基础(慕课笔记)
2019-04-29
利用java socket和sampled实现点对点即时语音通信
2019-04-29
XML四种解析(慕课笔记)
2019-04-29
14javaSocket应用(慕课笔记)
2019-04-29
MyBatis输入映射、输出映射、动态SQL、关联关系、Spring集成加强笔记
2019-04-29
EXT的combobox的store动态加载固定DATA
2019-04-29