我有一个哈希:
h = {a: 1, b: 2}
Run Code Online (Sandbox Code Playgroud)
使用
a = Array(h)
Run Code Online (Sandbox Code Playgroud)
我期望的是这a是一个数组,h是一个项目a:[{a:1,b:2}]
但a实际上[[:a, 1], [:b, 2]].
问题是,如何让我的预期a有Array()?
我会做
a = [h]
Run Code Online (Sandbox Code Playgroud)
但如果你坚持使用Array,那么你可以这样做(使用Rails/ActiveSupport):
a = Array.wrap(h)
Run Code Online (Sandbox Code Playgroud)
正如Tom Lord在评论中提到的那样,你得到了你得到的结果,因为Array()(和它的兄弟一样Integer())是转换函数.他们接受输入并尝试将其转换为所需类型.而你想要别的东西.
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |