学习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. 简单地说,常量就是常量,不会改变的量.一定要记住常量不能在方法中被创建或者修改哦~~~

0 0
原创粉丝点击