Ruby变量常量简单介绍

       1:   变量是对象的占位符或引用。

例如:

 

x=10 
puts 10 

 这里是把10赋值给名为x的变量

 

 

 

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

 

例如:

   x              合法

   8x            不合法(以数字开头)

   this@test  不合法(含非法字符)

  

   3:变量内插

        在双引号内使用“#{变量名}”内插变量。

 

   

a=1 
b=2
puts "#{a}+b=#{a+b}" 

1+b=3 

 

 

4:变量分类

 

变量类型            描述                             示例


局部变量      以小写字母或下划线卡头         var _var
全局变量      以$开头                             $var
类变量         类中定义,以@@开头           @@var
实例变量      对象中定义,以@开头           @var
常量            以大写字母开头                   Var

 

 

 

 

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

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

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

 

 5: Ruby 变量并没有内在类型。作为一种动态解析执行的语言,其变量类型只在其执行期决定,我们也因此能改变变量所持有对象的类型。

 

 

a = 1
puts a.class #Fixnum
a = "s"
puts a.class #String

 

 

$Global = "Word!"
class Class1
 @@I = 0
 def initialize()
 @name = "Tom!"
 end
 
 def test()
 a = 123456
 puts a
 end
end

 

6: 作用域

       在类或模块内的任意位置都可以访问此类或模块中定义的常量,在这之外,可以通过域作用符(::)访问。

 

class Demo
  NAME="name"
  def test
    puts NAME  
  end
end

puts Demo::NAME

 test.rb

class Demo
  NAME="name"
  $age="test"
  def test
    puts $age  
  end
end

 main.rb

require "test.rb"
$age=1
puts  $age

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值