在Ruby中,符号(Symbol)是一种不可变的、唯一的值类型,通常用作哈希的键或方法名
- 字符串插值:
name = "John" age = 30 # 使用符号作为变量名 person = { name: name, age: age } puts person[:name] # 输出 "John" puts person[:age] # 输出 30
- 使用符号作为方法名:
class Person def initialize(name, age) @name = name @age = age end # 使用符号作为方法名 def [](key) send(key) end end person = Person.new("John", 30) puts person[:name] # 输出 "John" puts person[:age] # 输出 30
- 使用符号作为哈希的键:
hash = { :name => "John", :age => 30 } puts hash[:name] # 输出 "John" puts hash[:age] # 输出 30
- 使用符号作为常量:
class Constants MAX_AGE = 120 MIN_AGE = 0 end puts Constants::MAX_AGE # 输出 120 puts Constants::MIN_AGE # 输出 0
- 使用符号作为块参数:
def process_data(data, &block) block.call(data) end process_data("John") { |name| puts name } # 输出 "John"
- 使用符号作为迭代器:
array = [:apple, :banana, :cherry] array.each do |item| puts item end # 输出 # apple # banana # cherry
通过这些示例,您可以看到Ruby中的符号在元编程中的应用。它们提供了一种简洁、高效的方式来表示和操作代码中的各种元素。