gpt4 book ai didi

scala - 访问HOCON文件中的环境变量时 `?`的作用

转载 作者:行者123 更新时间:2023-12-03 22:10:33 26 4
gpt4 key购买 nike

docs说我可以像这样访问环境变量:

database_name = "${?DB_NAME}"

在哪里 DB_NAME是一个环境变量。我必须打问号 ?或者如果它不存在,是否可以防止崩溃?

另外,我们是否允许在声明文件之前引用文件中的变量?
foo = "hello-${bar}"
bar = "baz"

最佳答案

1- ?表示可选。如果环境变量在运行时不存在,则将忽略整行,就好像它一开始就不存在一样。因此,当您想要可选覆盖时使用它。

Optional Env Vars section of the docs了解更多信息。

请注意 ?适用于所有替换,而不仅仅是环境变量。

2-是的,您可以引用稍后在配置文件中定义的变量(前向引用)。只要值存在且不存在循环(循环依赖),替换就会成功。

可以这样想:首先整个文件将在运行时解析,文字的值将绑定(bind)到它们的变量,然后进行替换,所以顺序并不重要。

关于scala - 访问HOCON文件中的环境变量时 `?`的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42240290/

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