Skip to content

82 结果构建器 ​

@BuildWith(Words.class) 把回调中的表达式语句变成依次执行的 add 调用。finish() 返回累积的 String;每次执行回调都使用新的构建器。

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 { "Learn" " " "Norm" })
}

预期输出:

text
Learn Norm

动手试试:在代码块中增加一个字符串表达式。

精确规则:参考。

Norm 0.25