【发布时间】:2014-11-25 02:40:22
【问题描述】:
最近我正在使用 Backbone.js 和 Coffeescript 开发一些代码,并且非常习惯于 Coffeescripts 内置的方法来访问作为对象传递的内容:
{ firstname, lastname, @email } = options
相当于:
firstname = options.firstname
lastname = options.lastname
@email = options.email
问题
是否有任何内置的 Ruby 语法可以在 Ruby 的哈希上实现相同的行为?
到目前为止,我设法实现的是:
firstname, lastname, @email = params.values_at(:firstname, :lastname, :email)
但这不是问题的 1:1 解决方案。
编辑#1
Coffeescript 生成的JS:
var firstname, lastname;
firstname = options.firstname, lastname = options.lastname, this.email = options.email;
【问题讨论】:
-
Coffeescript 编译器生成的等效 Javascript 是什么?
-
@DouglasFShearer 添加为有问题的编辑
-
我希望您知道 Ruby 和 CoffeeScript 之间的区别,因为两者完全不同。两种语言都有不同的语义和语法结构。我认为寻找 1:1 没有任何意义,您所显示的 Ruby 代码对我来说看起来还不错。
-
@Surya 由于 Ruby 对 Coffeescript 的影响很大,我希望有一个 1:1 的等价物。但是是的,我知道存在差异,我只是在寻找解决方案(如果存在)。
-
@jadrol :据我所知,Ruby 中没有任何方法可以像您在 coffescript 中那样。
标签: ruby hash coffeescript