gpt4 book ai didi

ruby-on-rails - 在 Ruby 中迭代哈希的一些元素

转载 作者:太空宇宙 更新时间:2023-11-03 17:22:49 25 4
gpt4 key购买 nike

我有一个看起来像这样的哈希:

card = {
name: "Mrs.Jones",
number: "4242 4242 4242 4242",
exp_month: "12",
exp_year: "2014",
address: "90210 Beverly Hills",
added: "2014-11-09 09:14:23"
}

我只想遍历 numberexp_monthexp_year 字段并更新它们。最像 Ruby 的方法是什么?

这是我的代码目前的样子:

card.each do |key,value|
card[key] = encrypt(value) # Only apply to number, exp_month and exp_year
end

最佳答案

我会按以下方式进行:

ENCRYPTED_FIELDS = [:number, :exp_month, :exp_year]

card.each do |key,value|
card[key] = encrypt(value) if ENCRYPTED_FIELDS.include?(key)
end

但更好的选择是为 CreditCardDetails 创建一个类并定义 setter 来加密数据:

class CreditCardDetails
def initialize(hash)
hash.each do |k, v|
self.send("#{k}=", v)
end
end

#example for not encrypted field
def name=(value)
@name = value
end

#example for encrypted field
def number=(value)
@number = encrypted(value)
end
end

关于ruby-on-rails - 在 Ruby 中迭代哈希的一些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26953935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com