1*3c321d95SSadaf Ebrahimi%S for Strings 2*3c321d95SSadaf Ebrahimi============== 3*3c321d95SSadaf Ebrahimi 4*3c321d95SSadaf EbrahimiWhen emitting code that includes string literals, we can use **`%S`** to emit a **string**, complete 5*3c321d95SSadaf Ebrahimiwith wrapping quotation marks and escaping. Here's a program that emits 3 methods, each of which 6*3c321d95SSadaf Ebrahimireturns its own name: 7*3c321d95SSadaf Ebrahimi 8*3c321d95SSadaf Ebrahimi```kotlin 9*3c321d95SSadaf Ebrahimifun main(args: Array<String>) { 10*3c321d95SSadaf Ebrahimi val helloWorld = TypeSpec.classBuilder("HelloWorld") 11*3c321d95SSadaf Ebrahimi .addFunction(whatsMyNameYo("slimShady")) 12*3c321d95SSadaf Ebrahimi .addFunction(whatsMyNameYo("eminem")) 13*3c321d95SSadaf Ebrahimi .addFunction(whatsMyNameYo("marshallMathers")) 14*3c321d95SSadaf Ebrahimi .build() 15*3c321d95SSadaf Ebrahimi 16*3c321d95SSadaf Ebrahimi val kotlinFile = FileSpec.builder("com.example.helloworld", "HelloWorld") 17*3c321d95SSadaf Ebrahimi .addType(helloWorld) 18*3c321d95SSadaf Ebrahimi .build() 19*3c321d95SSadaf Ebrahimi 20*3c321d95SSadaf Ebrahimi kotlinFile.writeTo(System.out) 21*3c321d95SSadaf Ebrahimi} 22*3c321d95SSadaf Ebrahimi 23*3c321d95SSadaf Ebrahimiprivate fun whatsMyNameYo(name: String): FunSpec { 24*3c321d95SSadaf Ebrahimi return FunSpec.builder(name) 25*3c321d95SSadaf Ebrahimi .returns(String::class) 26*3c321d95SSadaf Ebrahimi .addStatement("return %S", name) 27*3c321d95SSadaf Ebrahimi .build() 28*3c321d95SSadaf Ebrahimi} 29*3c321d95SSadaf Ebrahimi``` 30*3c321d95SSadaf Ebrahimi 31*3c321d95SSadaf EbrahimiIn this case, using `%S` gives us quotation marks: 32*3c321d95SSadaf Ebrahimi 33*3c321d95SSadaf Ebrahimi```kotlin 34*3c321d95SSadaf Ebrahimiclass HelloWorld { 35*3c321d95SSadaf Ebrahimi fun slimShady(): String = "slimShady" 36*3c321d95SSadaf Ebrahimi 37*3c321d95SSadaf Ebrahimi fun eminem(): String = "eminem" 38*3c321d95SSadaf Ebrahimi 39*3c321d95SSadaf Ebrahimi fun marshallMathers(): String = "marshallMathers" 40*3c321d95SSadaf Ebrahimi} 41*3c321d95SSadaf Ebrahimi``` 42