gpt4 book ai didi

kotlin - 使用 KotlinPoet 或类似软件;生成非原始 Kotlin 字符串文字

转载 作者:行者123 更新时间:2023-12-02 12:51:52 31 4
gpt4 key购买 nike

直截了当;有没有办法从字符串生成有效的 Kotlin 字符串文字(非原始,如非三重引号);我目前正在尝试使用 KotlinPoet 来完成此操作.

为了清楚起见,示例输入:

Hello, how are you?
I'm doing "great"!
I hope you are too!
It'll cost you $2.

期望的示例输出:

"Hello, how are you?\nI'm doing \"great\"!\nI hope you are too!\nIt'll cost you \$2."

对于 KotlinPoet,到目前为止,我可以从我学到的 API 中管理的最好的是:

"""
|Hello, how are you?
|I'm doing "great"!
|I hope you are too!
|It'll cost you ${'$'}2.
|""".trimMargin()

虽然功能正常,但这并不是我想要实现的目标。


我已经能够用 Jackson 的 ObjectMapper::writeValueAsString 完成一些功能上接近的事情。 ,但是,我确信使用它来生成有效的 Kotlin 代码有很多注意事项。

最佳答案

很遗憾,KotlinPoet中的相关函数is internal ,或者您可以像在 this test 中那样使用 isConstantContext = true 来调用它.

因此,作为解决方法,您可以将字符串放在常量上下文中,例如 const val x = ...@A(...) (其中 ... 是您的字符串),为其生成代码,然后删除除文字之外的所有内容。

关于kotlin - 使用 KotlinPoet 或类似软件;生成非原始 Kotlin 字符串文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60293241/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com