ruby - 如何从 ruby 中的 ruby Money::Currency.all 获取 iso 代码和名称
问题描述
如何在 Ruby 中从 Money::Currency.all 获取 iso 代码和名称
如何从 Ruby 中的 Money::Currency.table 获取 iso 代码和名称
Money::Currency.all 是 Array ,我使用了 map ,但不起作用
Money::Currency.table 是 Hash ,我还没有找到一种方法来处理这个问题
这是Money::Currency.all
{
"id": "usd",
"alternate_symbols": [
"US$"
],
"decimal_mark": ".",
"disambiguate_symbol": "US$",
"html_entity": "$",
"iso_code": "USD",
"iso_numeric": "840",
"name": "United States Dollar",
"priority": 1,
"smallest_denomination": 1,
"subunit": "Cent",
"subunit_to_unit": 100,
"symbol": "$",
"symbol_first": true,
"thousands_separator": ","
},
{
"id": "eur",
"alternate_symbols": [],
"decimal_mark": ",",
"disambiguate_symbol": null,
"html_entity": "€",
"iso_code": "EUR",
"iso_numeric": "978",
"name": "Euro",
"priority": 2,
"smallest_denomination": 1,
"subunit": "Cent",
"subunit_to_unit": 100,
"symbol": "€",
"symbol_first": true,
"thousands_separator": "."
},
这是Money::Currency.table
"aed": {
"priority": 100,
"iso_code": "AED",
"name": "United Arab Emirates Dirham",
"symbol": "د.إ",
"alternate_symbols": [
"DH",
"Dhs"
],
"subunit": "Fils",
"subunit_to_unit": 100,
"symbol_first": false,
"html_entity": "",
"decimal_mark": ".",
"thousands_separator": ",",
"iso_numeric": "784",
"smallest_denomination": 25
},
解决方案
这适用于money-6.6.1(我目前使用的那个)。可能也适用于较新的版本。
Money::Currency.all.map { |m| [m.iso_code, m.name] } # => [["USD", "United States Dollar"], ...]
Money::Currency.table.values.map { |m| [m[:iso_code], m[:name]] }
# or
Money::Currency.table.values.map { |m| [m["iso_code"], m["name"]] }
推荐阅读
- c++ - 使用 gradle-native cpp-application & cpp-library 插件构建一个 cpp 应用程序
- python - 如果在列表中找不到键,我如何获得默认值零?
- jdbc - 在 JDBC URL (HSQLDB) 中使用环境变量
- python - 在 Python 中生成密码的程序中的字符串索引超出范围错误
- javascript - HTML中的多个图像滑块
- simulink - 使用 Goto 和 From 传输 Fcn 块
- javascript - 重新排列 JSON 数据以将 id 添加到嵌套对象
- java - 由于另一个应用程序后台服务,后台服务被杀死
- swift - 在 Alamofire 的参数中发送数组
- java - 关于 Grails 服务类 Singleton 属性