在Ruby中,哈希(Hash)是一种存储键值对的数据结构。为了保护哈希中的数据,你可以采取以下措施:
@符号),以防止外部直接访问和修改哈希。class MyClass
  def initialize
    @my_hash = { key1: 'value1', key2: 'value2' }
  end
end
class MyClass
  def initialize
    @my_hash = { key1: 'value1', key2: 'value2' }
  end
  def get_value(key)
    @my_hash[key]
  end
  def set_value(key, value)
    @my_hash[key] = value
  end
end
freeze方法,可以冻结哈希,使其不可修改。一旦哈希被冻结,尝试修改哈希中的元素将引发错误。my_hash = { key1: 'value1', key2: 'value2' }
frozen_hash = my_hash.freeze
class MyClass
  KEY1 = 'key1'
  KEY2 = 'key2'
  def initialize
    @my_hash = { KEY1 => 'value1', KEY2 => 'value2' }
  end
end
class MyHash
  def initialize(hash = {})
    @hash = hash
  end
  def [](key)
    @hash[key]
  end
  def []=(key, value)
    @hash[key] = value
  end
  def update(hash)
    @hash.merge!(hash)
  end
end
通过采取这些措施,你可以保护Ruby哈希中的数据,防止意外修改和访问。