gpt4 book ai didi

ruby - 更新哈希中的特定键

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:44 27 4
gpt4 key购买 nike

我只想更新哈希中的日期元素。即

hash = { 'name': 'Albert', 'date_1': "31-01-2017", 'date_2': "31-01-2017" }

## I only want to update `date_1` and `date_2`.

我试过了

hash.select {|k,v| ['date_1','date_2'].include? k }.transform_values!(&:to_date)

但是因为我之前做了一个select,所以只会返回我

{ 'date_1':2017 年 1 月 31 日,星期二,'date_2':2017 年 1 月 31 日,星期二 }

关于保留其他属性以及转换所选键的任何建议?

即{ 'name': 'Albert', 'date_1':2017 年 1 月 31 日,星期二,'date_2':2017 年 1 月 31 日,星期二 }

最佳答案

只需更新 date_1 和 date_2 的值:

hash['date_1'] = hash['date_1'].to_date if hash['date_1']
hash['date_2'] = hash['date_2'].to_date if hash['date_2']

或者如果你有更多的日期键,你可以使用 each 来完成:

date_keys = [:date_1, :date_2]
hash.each do |k,v|
hash[k] = v.to_date if date_keys.include?(k)
end

关于ruby - 更新哈希中的特定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918833/

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