0

我正在 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")
4

1 回答 1

0

Stanza 不支持其 switch 语句的失败行为。以下不是非常惯用的(我会推荐一个简单的 if-else 链),但它看起来与您的代码非常相似。它使用 switch 语句的一般形式,其中闭包用于谓词。

switch contains?{_, a} :
  [0] : println("zero")
  [1] : println("one")
  [2, 3] : println("two or three")

帕特里克

于 2021-03-05T19:30:56.483 回答