『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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:『PHP代码审计』飓风CMS1.10存在命令执行漏洞
下一篇:『PHP代码审计』PHPOK5.7.140存在文件上传漏洞

发表评论

最新留言

不错!
[***.144.177.141]2024年04月29日 17时09分23秒