Code Block Format Strings ========================= Code blocks may specify the values for their placeholders in a few ways. Only one style may be used for each operation on a code block. ## Relative Arguments Pass an argument value for each placeholder in the format string to `CodeBlock.add()`. In each example, we generate code to say "I ate 3 tacos" ```kotlin CodeBlock.builder().add("I ate %L %L", 3, "tacos") ``` ## Positional Arguments Place an integer index (1-based) before the placeholder in the format string to specify which argument to use. ```kotlin CodeBlock.builder().add("I ate %2L %1L", "tacos", 3) ``` ## Named Arguments Use the syntax `%argumentName:X` where `X` is the format character and call `CodeBlock.addNamed()` with a map containing all argument keys in the format string. Argument names use characters in `a-z`, `A-Z`, `0-9`, and `_`, and must start with a lowercase character. ```kotlin val map = LinkedHashMap() map += "food" to "tacos" map += "count" to 3 CodeBlock.builder().addNamed("I ate %count:L %food:L", map) ```