学习RGSS-变量和常量
来源:互联网 发布:管家婆sql 编辑:程序博客网 时间:2024/05/19 19:43
1: Local变量.(局部变量)只能和它的方法存在.我们先看下面这个例子:
class Local_Variable def method_1 local_variable=2 end def method_2 local_variable=3 end end
2: Instance 变量.以 @ 开头,必须在方法中被创建..这种变量能在任何同个类的方法中被调用.下面的例子中,方法1创建的Instance 变量和方法2的是一样的.在2中我们把它变为4. 一个Instance变量在一个类中是全局的.
class Instance_Variable def method_1 @instance_variable=2 end def method_2 @instance_variable=4 end end
3: Class变量.以 @@ 开头,只要不在方法中,就必须在类中被创建.建议将它放在类名定义的下面. 一个Class 变量在同类中是通用的,所有此类中的方法都能使用它. 下面的例子中我们创建了一个记数的类.
class Class_Variable @@class_variable=0 def initialize @@class_variable+=1 end end
4: Global变量(全局变量)在整个游戏中存在,一旦被创建,任何一个类中都能使用它.下面的例子中,我们在一个类中创建了一个全局变量,我们在另一个类中增加了1.
class Global_Variable_1 def initialize $global_variable=0 end end class Global_Variable_2 def initialize $global_variable+=1 end end
常量像一个容器,装载着某个值.它本来不能被改变,但是在Ruby中可以.. 但是只能在这个类中你可以改变它,它的值总是和你给它定义的时候保持一致.下面的例子中,我们可以看到三个类中常量的如何使用.
A_CONSTANT=100 class Constant_Test_1 ANOTHER_CONSTANT=50 def initialize print ANOTHER_CONSTANT print A_CONSTANT end end class Constant_Test_2 def initialize print Constant_Test_1::ANOTHER_CONSTANT print A_CONSTANT end end class Constant_Test_3 A_CONSTANT+=1 def initialize print A_CONSTANT end end
首先,我们创建了一个全局变量A_CONSTANT,值为 100. 我们看到这个全局变量是在类之外创建的,它在游戏的每个类中都通用.第一个class类中,我们创建了常量,它是在类中使用的,但是在另一个类中使用正确的语法也能调用它. 第二个类中我们事实上获得了第一个类中定义的变量.它的句法是这样:
Class_Name::CONSTANT_NAME
使用这样的句法,我们就能在一个类中定义一个常量.也能让其他的类中能使用它.在第三个例子中,我们给全局变量”A_CONSTANT”增加了1, 显示出来就是101.
我们会发现常量”A_CONSTANT” 在执行Constant_Test_3.new的时候会保持在101这.是因为它一直使用静止不变的”A_CONSTANT”的值也就是 100. 简单地说,常量就是常量,不会改变的量.一定要记住常量不能在方法中被创建或者修改哦~~~
- 学习RGSS-变量和常量
- Swift学习 变量和常量
- 对RGSS学习的态度.
- PHP变量和常量基础学习
- C#学习日志一(常量和变量)
- Go学习笔记之变量和常量
- swift学习之常量和变量
- swift 学习笔记 - 变量和常量
- C#学习笔记 变量和常量
- swift学习之变量和常量
- Java_SE学习笔记:变量和常量
- JAVA学习——变量和常量
- C#学习笔记 4 常量和变量
- php学习笔记---变量和常量
- 变量和常量,数组
- 常量和变量
- 变量和常量
- 数据类型、常量和变量
- [产品经理]产品经理的知识结构
- 浮点数在计算机中的保存
- Hex文件转Bin文件
- Android- 自己做的App优化点~
- Time schedule和scheduleAtFixedRate区别
- 学习RGSS-变量和常量
- Android之购物车及其他功能的角标实现
- Android中对Handle机制的理解
- (M)Activity详解之setContentView
- hibernate获取数据获取不到,没有报错
- React-Native项目升级后,不能package服务时报错:Cannot find module ‘invariant’
- Linux网络编程13——connect()、listen()和accept()三者之间的关系
- MySQL 快速入门
- CentOS7 更改IP,计算机名