ruby

Ruby符号如何用于元编程

小樊
82
2024-11-02 11:29:24
栏目: 编程语言

在Ruby中,符号(Symbol)是一种不可变的、唯一的值类型,通常用作哈希的键或方法名

  1. 字符串插值:
name = "John"
age = 30

# 使用符号作为变量名
person = {
  name: name,
  age: age
}

puts person[:name] # 输出 "John"
puts person[:age]  # 输出 30
  1. 使用符号作为方法名:
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
  1. 使用符号作为哈希的键:
hash = {
  :name => "John",
  :age => 30
}

puts hash[:name] # 输出 "John"
puts hash[:age]  # 输出 30
  1. 使用符号作为常量:
class Constants
  MAX_AGE = 120
  MIN_AGE = 0
end

puts Constants::MAX_AGE # 输出 120
puts Constants::MIN_AGE # 输出 0
  1. 使用符号作为块参数:
def process_data(data, &block)
  block.call(data)
end

process_data("John") { |name| puts name } # 输出 "John"
  1. 使用符号作为迭代器:
array = [:apple, :banana, :cherry]

array.each do |item|
  puts item
end
# 输出
# apple
# banana
# cherry

通过这些示例,您可以看到Ruby中的符号在元编程中的应用。它们提供了一种简洁、高效的方式来表示和操作代码中的各种元素。

0
看了该问题的人还看了