博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby基础知识-1.变量
阅读量:4582 次
发布时间:2019-06-09

本文共 1060 字,大约阅读时间需要 3 分钟。

变量名必须是单个实体,不含空格。必须以字母,或下划线开头,必须只包含数字,字母,下划线,并且是区分大小写。

1.1    变量分类

1.1.1 局部变量

以小写字母或下划线卡头。

局部变量也就是基本的变量,在变量定义的相同地方使用。

1.1.2 全局变量

以$开头。

1.1.3 类变量

类变量就是在类定义中用@@开头的变量。

类变量是用于存储类的全局信息,它只属于类,不同与类实例变量(即用@开头定义的变量)每一个类的对象都有一份数据。 类变量是可以被继承的,也就是说如果我们派生一个子类,那么在子类中是可以访问父类的类变量的。类变量在访问前必须赋值。子类和父类共享一份数据,对一个类的修改会反映到另一个类中。

1.1.4 实例变量

对象中定义,以@开头。

类的类实例变量是在类的类方法中或方法外边(不能在实例方法中,那是类的实例变量)以@开头定义的变量,这样定义的变量值属于类对象本身,不能够被子类继承。如果要定义需要和子类共享的类全局数据,使用类变量;但是如果要定义仅供类本身使用的类全局数据可以使用类实例变量。还有一点需要注意的是,和类变量不同的是类实例变量不要求访问前必须赋值,不赋值它的值就是nil

1.1.5 常量

以大写字母开头。

1.1.6 变量输出

使用"#{var}"输出。

例:

class Demo    $Global="Global!" #全部变量    NAME="name" #常量    @@sex=1 #类变量    attr_accessor :nickname #用symbol定义的实例变量访问器    def initialize()        @name="Tom!" #类实例变量    end    def get_sex        puts @@sex    end    def test()        num1 = 123 #局部变量        num2 = 456        puts num1        puts "num1+num2=#{num1+num2}"        puts @name    endendputs $Globalputs Demo::NAMEdemo = Demo.newdemo.testdemo.get_sexdemo.nickname = 'jack'puts demo.nickname

转载于:https://www.cnblogs.com/virtual/articles/3094738.html

你可能感兴趣的文章
MyBatis笔记一:GettingStart
查看>>
查找不同的木棍
查看>>
面试题:顺时针打印矩阵
查看>>
DataSet、DataTable、DataRow、DataColumn区别及使用实例
查看>>
python 特殊方法
查看>>
Python3 练习笔记四
查看>>
装箱问题
查看>>
Android线程管理(一)——线程通信
查看>>
vim 使用技巧
查看>>
面向对象的特征有哪些方面?
查看>>
三月十一号
查看>>
国外免费空间
查看>>
构建linux内核树
查看>>
Linux C 信号处理
查看>>
第三次作业
查看>>
tomcat
查看>>
MUI开发注意事项
查看>>
elasticsearch摸石头过河——常用数据类型(二)
查看>>
scrum立会报告+燃尽图(第三周第三次)
查看>>
[SQL] 获取 Microsoft SQL Server 2008 的数据表结构
查看>>