在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中的符号在元编程中的应用。它们提供了一种简洁、高效的方式来表示和操作代码中的各种元素。