我主要是一名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/