【问题标题】:get the values of a hash as integer instead of string in rails将哈希值作为整数而不是rails中的字符串获取
【发布时间】:2021-09-23 21:04:50
【问题描述】:

我有一个从咖啡脚本进入控制器的哈希:

h = {"1"=>"[2, 44]", "3"=>"[50]", "4"=>"[43, 42]", "9"=>"[48, 40, 45, 41]"}

实际上,我需要整数形式的值,但这里它以字符串形式返回,如下所示:

h["9"] , it will return  "[48, 40, 45, 41]" .

我怎样才能把它作为一个整数数组。请帮助

谢谢, 吉西

【问题讨论】:

  • 我更喜欢 Sebastian 的回答,但你可以写 h.transform_values { |s| s.scan(/\d+/).map(&:to_i) } #=> {"1"=>[2, 44], "3"=>[50], "4"=>[43, 42], "9"=>[48, 40, 45, 41]}

标签: ruby-on-rails ruby hash


【解决方案1】:

您可以将每个值解析为 JSON:

h.transform_values { |value| JSON.parse(value) }
# => {"1"=>[2, 44], "3"=>[50], "4"=>[43, 42], "9"=>[48, 40, 45, 41]}

【讨论】:

    猜你喜欢
    • 2015-04-26
    • 2019-05-30
    • 2018-10-17
    • 1970-01-01
    • 2022-10-17
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多