如何在 Stanza 中编写 fall-through switch 语句?
How to write a fall-through switch statement in Stanza?
我在 Stanza 中写了一个 switch 语句,我的一些情况是相同的。我想尽量减少代码重复。如何将案例合并在一起?
val a = randomSmallInteger()
switch(a) :
0 : println("zero")
1 : println("one")
2 : println("two or three")
3 : println("two or three")
我想它看起来像
switch(a) :
0 : println("zero")
1 : println("one")
2,3 : println("two or three")
Stanza 的 switch 语句不支持 fall-through 行为。以下不是很惯用(我会推荐一个简单的 if-else 链)但它看起来与您的代码非常相似。它使用 switch 语句的一般形式,其中闭包用于谓词。
switch contains?{_, a} :
[0] : println("zero")
[1] : println("one")
[2, 3] : println("two or three")
帕特里克
我在 Stanza 中写了一个 switch 语句,我的一些情况是相同的。我想尽量减少代码重复。如何将案例合并在一起?
val a = randomSmallInteger()
switch(a) :
0 : println("zero")
1 : println("one")
2 : println("two or three")
3 : println("two or three")
我想它看起来像
switch(a) :
0 : println("zero")
1 : println("one")
2,3 : println("two or three")
Stanza 的 switch 语句不支持 fall-through 行为。以下不是很惯用(我会推荐一个简单的 if-else 链)但它看起来与您的代码非常相似。它使用 switch 语句的一般形式,其中闭包用于谓词。
switch contains?{_, a} :
[0] : println("zero")
[1] : println("one")
[2, 3] : println("two or three")
帕特里克