gpt4 book ai didi

scala - 在编译时(在 Scala 中)将字符串常量定义为文件内容的简单方法是什么?

转载 作者:行者123 更新时间:2023-12-05 08:43:12 25 4
gpt4 key购买 nike

我想将 Scala val 定义为字符串,其值是文本文件的全部内容,如在编译时 读取的那样。因此,在编译之后,这应该只是一个字符串常量。

我觉得这应该很简单,例如,Scala 宏,但到目前为止我无法弄清楚如何简单地获取 String 值。

最佳答案

你可以做一个 sbt source generation task在编译时执行;这是从这些文档中复制的一个简单示例。根据需要将其扩展为仅将文件内容转储到对象的 val 字段中并不难。

sourceGenerators in Compile += Def.task {
val file = (sourceManaged in Compile).value / "demo" / "Test.scala"
IO.write(file, """object Test extends App { println("Hi") }""")
Seq(file)
}.taskValue

关于scala - 在编译时(在 Scala 中)将字符串常量定义为文件内容的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33785495/

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