Coffeescript:条件值一线

时间:2012-09-25 10:27:09

标签: coffeescript

这可以变成时髦的单行吗?

thing = thing2 / 32 * 100 * 100
thing = 0 unless thing

2 个答案:

答案 0 :(得分:2)

不幸的是,coffeescript不支持三元运算符。但你可以写:

@zoomGlobal = if @position.ratio then @position.ratio / 32 * 100 * 100 else 0

@zoomGlobal = @position.ratio / 32 * 100 * 100 || @zoomGlobal

Here example

答案 1 :(得分:2)

如果您确信@ position.ratio始终设置为数字,则可以:

@zoomGlobal = @position.ration / 32 * 100 * 100

很快您就可以使用新的**运算符

@zoomGlobal = @position.ration / 32 * 100 ** 2

如果@ position.ration可能不存在,那么请使用Ivan建议的内容:

@zoomGlobal = if @position.ratio then @position.ratio / 32 * 100 * 100 else 0

另外,我从你的例子中看不出上下文是什么,但请注意

10 / 2 * 2 * 2 == 20

,而

10 / (2 * 2 * 2) == 1.25