在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哈希中的數據,防止意外修改和訪問。