我有
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"]
但它们都会出现语法错误。
答案 0 :(得分: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
。
答案 1 :(得分:1)
if
是coffee-script中的一个表达式,这意味着您可以像JavaScript(或其他类似c语言)中的三元运算符<condition> ? <if_true> : <else>
一样使用它。它将返回最后一个值。所以你可以使用这样的东西:
alert if yourVar in ['slow', 'blow', 'grow'] then 'yes' else 'no'
答案 2 :(得分:1)
为什么你不能使用最基本的东西:if...else
陈述。
if "blow" in ["slow", "flow", "blow"]
alert "yesb"
else
alert "nob"
答案 3 :(得分:0)
如果我使用了您的第一个版本,我认为这样可行:
if "blow" in ["slow", "flow", "blow"] alert 'yesb' else alert "nob"