昨天@SuperSkunk为我解决了这个小问题:How to return settings from an object
我有这个设置来从存储的设置中检索值:
myProject =
settings:
value1: one
value2: two
value3: three
getSetting: (key) ->
@settings[key]
所以,当我致电getSetting('value1')
时,我得到one
。
如何更改代码以传递n-Arguments以获取n值?提前谢谢!
答案 0 :(得分:2)
您可以使用splat和列表推导:
getSetting: (keys...) ->
(@settings[key] for key in keys)
现在,如果您致电getSettings 'value1', 'value2'
,结果就是数组['one', 'two']
。
“按原样返回”意味着可能只是在接收值时进行结构化
所以在调用者方面采取上述例子
[value1, value2] = getSettings "value1", "value2"
答案 1 :(得分:-1)
要使用以下内容,请包含underscore.js(http://underscorejs.org)或咖啡脚本变体(http://coffeescript.org/documentation/docs/underscore.html)
getSettings: (keys) ->
_.map(_.flatten([keys]), (key) -> @settings(key))
以上内容应该与传入的数组或上面的单个值一起使用。