咖啡脚本| |=模拟?

我主要是一名Rails开发人员,因此在为我公司的Hubot实例编写一个小脚本时,我希望实现以下目标:

robot.brain.data.contacts | |={}

或者,仅在新哈希不存在时创建它。我的想法是希望通过脚本动态添加联系人数组,这样我就不必修改Hubot的源代码,而且我显然不想覆盖添加到其中的任何联系人

问题:是否有一个像Rails | |这样的快速小构造,我可以在Coffeescript中使用它来实现上述目标

干杯

您可以使用?=进行条件赋值:

速度?=75

是CoffeeScript中的“存在运算符”,因此它将测试存在性(而不是真实性):

如果(速度类型==“未定义”| |速度===null)速度=75;

不过,在您的案例中,结果JS有点不同,因为您测试的是对象属性,而不仅仅是变量,因此robot.brain.data.contacts?={}会产生以下结果:

var\u base,\u ref;
if((_ref=(_base=robot.brain.data.contacts)!=null){
_ref;
}否则{
_base.contacts={};
};

更多信息:http://jashkenas.github.com/coffee-script/

发表评论