CoffeeScript多值切换语句?
这样的事情可能吗?因为某种原因它不起作用。谢谢 很遗憾,JS不认为CoffeeScript多值切换语句?,coffeescript,Coffeescript,这样的事情可能吗?因为某种原因它不起作用。谢谢 很遗憾,JS不认为[1,2]==[1,2](因为它们是不同的引用);否则,您可以使用数组来执行您想要的操作 相反,这里有一个函数: switch @user && @other when 'user' && true ... when 'user2' && false ... 像这样使用它: multiSwitch = (values, cases...
[1,2]==[1,2]
(因为它们是不同的引用);否则,您可以使用数组来执行您想要的操作
相反,这里有一个函数:
switch @user && @other
when 'user' && true
...
when 'user2' && false
...
像这样使用它:
multiSwitch = (values, cases...) ->
for c in cases
match = true
for i in [0...values.length]
unless c[i] is values[i]
match = false
break
return c[values.length]() if match
return
根据您正在执行的操作,可以更轻松地将多个值连接到一个字符串中,并在该字符串上进行
切换。您可以定义“不工作”吗?那代码编译得很好。或者您是否希望它将user
与'user'
进行比较,将@other
与true
进行比较?如果是这样,就没有办法让开关
做你想做的事情;您应该使用if
/else
或编写一个函数。啊,好的。是的,我想让用户与“用户”进行比较,而另一个与“真”进行比较。
multiSwitch [@user, @other],
['user', true, ->
console.log 'case 1'
]
['user2', false, ->
console.log 'case 2'
]