在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中的符號在元編程中的應用。它們提供了一種簡潔、高效的方式來表示和操作代碼中的各種元素。