1

我有

alert 'yesb' if "blow" in ["slow", "flow", "blow"] 
alert 'nob' if "blow" not in ["slow", "flow", "blow"]

我宁愿有

alert 'yesb' if "blow" in ["slow", "flow", "blow"] else alert "nob"

或者

alert 'yesb' if "blow" in ["slow", "flow", "blow"] else "nob"

或者

alert 'yesx' else alert 'nob' if "xrow" not in ["slow", "flow", "grow"]

或者

alert 'yesx' else 'nob' if "xrow" not in ["slow", "flow", "grow"]

但它们都给出语法错误。

4

4 回答 4

3

CoffeeScript 的三元 if-then 语法是if a > b then c else d.

所以你要找的是...

alert(if "blow" in ["slow", "flow", "blow"] then 'yesb' else 'nob')

来自 Python 我也遇到了这个问题,因为 Python 的语法是c if a > b else d.

于 2012-06-15T18:04:57.753 回答
1

if是咖啡脚本中的表达式,这意味着您可以像使用<condition> ? <if_true> : <else>JavaScript(或其他类 c 语言)中的三元运算符一样使用它。它将返回最后一个值。所以你可以使用这样的东西:

alert if yourVar in ['slow', 'blow', 'grow'] then 'yes' else 'no'
于 2012-06-15T18:07:00.853 回答
1

为什么不能用最基本的东西:一个if...else语句。

if "blow" in ["slow", "flow", "blow"]
  alert "yesb"
else
  alert "nob"
于 2012-06-15T20:03:56.997 回答
0

如果我使用您的第一个变体,我认为这会起作用:

if "blow" in ["slow", "flow", "blow"] alert 'yesb' else alert "nob"
于 2012-06-15T18:08:11.000 回答