数据类型
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(鸭子类型)