常量
Ruby中常量的名称定义是以大写字母开头即可。但是,通常整个名称都是大写字母构成,与其他语言中的常量名称风格一致,如:MYCONSTANT = "hello"。
与其他语言不同的是,Ruby中的常量是允许被修改的,Ruby的解释器会提示warning,但不会报错。
变量
变量声明
Ruby是动态类型语言。因此,声明变量的时候,不需要指定变量的类型。同时,在程序的后续执行中,可以为变量赋值不同类型的值。
动态类型语言 V.S. 静态类型语言
从变量声明的角度看,静态类型语言在声明变量的时候,必须指定变量的类型,并且只能赋值该类型的值。相反,在动态类型语言中,变量的声明不需要指定类型,而且值可以是不同的类型,"动态类型"因此得名。
并行赋值
同其他脚本语言一样(如Python),Ruby也支持并行赋值,如:
x = 10
y = 11
z = 12
或者
x, y, z = 10, 11, 12
识别变量类型
通过Object # kind_of? 方法。如:
x = 10
x.kind_of? Integer # 返回true
或者
x.class # 返回Integer
改变变量类型
2种方式可以改变Ruby中变量的类型:
-
赋值为其他类型的值,如:
x = 10; x = "hello"将x由最开始的Integer改为String。 -
通过方法调用来改变类型,如:
x = 20 x.to_f # 返回20.0 54321.to_s # 返回"54321" 54321.to_s(2) # 返回二进制的表示 "1101010000110001" 54321.to_s(16) # 返回十六进制表示 "d431" 54321.to_s(8) # 返回八进制表示 "152061"
Content mainly from 「Ruby Essentials」