变量与常量
局部/全局/实例/类变量、常量、多重赋值、nil 对象
变量与常量
Ruby 通过命名前缀区分变量类型:局部变量小写、实例变量 @、类变量 @@、全局 $、常量大写。
学完本章你将: 掌握局部/全局/实例/类变量、常量、多重赋值。
变量类型速查
ruby
name = "小明" # 局部变量(小写或 _ 开头)
@age = 25 # 实例变量(@ 开头——类内部使用)
@@count = 0 # 类变量(@@ 开头——类层级共享)
$debug = true # 全局变量($ 开头——尽量少用)
PI = 3.14159 # 常量(大写开头)
多重赋值
ruby
a, b = 10, 20 # a=10, b=20
a, b = b, a # 交换
x, y, z = [1, 2, 3] # 数组解构
# 收集剩余
first, *rest = [1, 2, 3, 4, 5]
# first = 1, rest = [2, 3, 4, 5]
常量的特殊性
ruby
PI = 3.14
PI = 3.14159 # ⚠️ 可以改但不推荐——Ruby 会警告
# 常量作用域
Math::PI # 模块内常量
::PI # 顶层常量
nil
ruby
x = nil
puts x.nil? # true
puts x.to_s # ""(不会抛异常——设计友好)
# nil 是 NilClass 的实例——一切皆对象
puts nil.class # NilClass