Mir*_*318 0 ruby rspec hashmap parameter-passing
我怎么转
arg2 = {a: "a", b: "b"}
method(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)
进入这个:
method(arg1, a: "a", b: "b")
Run Code Online (Sandbox Code Playgroud)
doublein RSpec,它接受这样的参数:
let(:dummy_obj) do
[ double("my dummy object", name: "Mr. Jo", height: "10ft", etc) ]
end
Run Code Online (Sandbox Code Playgroud)
第一个arg是double对象的名称,之后你可以添加任意数量的键值对,这些键值对成为double的方法(例如dummy_obj.height()将返回"10ft").
我有一个我想要使用的巨大JSON哈希,其中JSON中的每个第一级字段都成为double中的方法.所以,我希望有一些类似的东西*array解压缩哈希中的每个项目,因为它是自己的哈希.
这个:
method(arg1, a: "a", b: "b")
Run Code Online (Sandbox Code Playgroud)
与此相同:
method(arg1, { a: "a", b: "b" })
Run Code Online (Sandbox Code Playgroud)
{}当哈希是最后一个参数时,Ruby允许你省略花括号().
所以你的代码已经完全符合你的要求:
arg2 = { a: "a", b: "b" }
method(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1533 次 |
| 最近记录: |