Ruby中的符号(Symbol)和字面量(Literal)都是用于表示固定值的特殊类型的常量。它们的作用和区别如下:
符号(Symbol)
字面量(Literal)
符号与字面量的区别
:symbol_name
;而字面量没有特殊的前缀。示例:
# 定义符号
sym = :my_symbol
puts sym.inspect # 输出: :my_symbol
# 定义字面量
lit = 42
puts lit.inspect # 输出: 42
# 将符号作为哈希表的键
hash = { sym => "Hello, Symbol!" }
puts hash[sym] # 输出: Hello, Symbol!
# 字面量作为变量的初始值
var = lit
puts var # 输出: 42