Z
ZHANK
入门基础

变量与常量

局部/全局/实例/类变量、常量、多重赋值、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