Z
ZHANK
入门基础

数据类型

Integer/Float/String/Symbol/Array/Hash、动态类型、.class 查看

数据类型

Ruby 有 Integer、Float、String、Symbol、Array、Hash 六大基础类型——每个都是对象。

学完本章你将: 掌握基础类型、Symbol vs String、动态类型、.class 查看。


基本类型

ruby
# 整数(自动切换 Fixnum → Bignum)
num = 42
big = 10**100  # 自动大整数——不会溢出

# 浮点
pi = 3.14159
puts pi.round(2)  # 3.14

# 字符串
s = "Hello, #{pi}"  # 双引号插值
s = 'Hello, #{pi}'  # 单引号不插值

# 布尔
true.class   # TrueClass
false.class  # FalseClass
# 只有 false 和 nil 是 falsy——其余都是 truthy(0 也是 truthy!)
puts "yes" if 0  # 输出 "yes"

Symbol vs String

ruby
:name         # Symbol——不可变、唯一、高效
"name"        # String——可变、内容相同也是不同对象

# Symbol 作为 Hash 键——最高效
user = { :name => "小明", :age => 25 }
user = { name: "小明", age: 25 }  # 新式语法糖(推荐)

类型检查

ruby
"hello".class          # String
42.class               # Integer
[].class               # Array
{}.class               # Hash

"hello".is_a?(String)  # true
"hello".respond_to?(:upcase)  # true(鸭子类型)