[ruby]各种变量类型

191 阅读1分钟

常量

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中变量的类型:

  1. 赋值为其他类型的值,如: x = 10; x = "hello" 将x由最开始的Integer改为String。

  2. 通过方法调用来改变类型,如:

    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