代码块格式字符串¶
代码块可以通过几种方式指定其占位符的值。每个代码块操作只能使用一种样式。
相对参数¶
将格式字符串中每个占位符的参数值传递给 CodeBlock.add()
。在每个示例中,我们生成代码来表示“我吃了 3 个墨西哥卷饼”。
CodeBlock.builder().add("I ate %L %L", 3, "tacos")
位置参数¶
在格式字符串中的占位符前放置一个整数索引(从 1 开始),以指定要使用的参数。
CodeBlock.builder().add("I ate %2L %1L", "tacos", 3)
命名参数¶
使用语法 %argumentName:X
,其中 X
是格式字符,并调用 CodeBlock.addNamed()
,传入一个包含格式字符串中所有参数键的映射。参数名称使用字符 a-z
、A-Z
、0-9
和 _
,并且必须以小写字母开头。
val map = LinkedHashMap<String, Any>()
map += "food" to "tacos"
map += "count" to 3
CodeBlock.builder().addNamed("I ate %count:L %food:L", map)