Skip to content

83 结果构建器中的控制流 ​

只有选中的 if 分支提供一个元素。for 循环每次迭代各提供一个元素,最终结果保持顺序。

norm
import std.build.BuildWith
import std.build.ResultBuilder

class Words implements ResultBuilder<String, String> {
  private String text = ""
  Void add(String value) { text = text + value }
  String finish() { text }
}

String words(@BuildWith(Words.class) Function<String()> content) { content() }

main() {
  printLine(words {
    if true { "a" } else { "wrong" }
    for letter : ["b", "c"] { letter }
  })
}

预期输出:

text
abc

动手试试:把条件改成 false,预测生成的文本。

精确规则:参考。

Norm 0.25