gpt4 book ai didi

groovy - 在 Groovy 中获取其名称的变量值

转载 作者:行者123 更新时间:2023-12-01 22:43:53 24 4
gpt4 key购买 nike

我定义了以下变量:

def VAL1 = 'foo'
def VAL2 = 'bar'

def s2 = 'hello ${VAL1}, please have a ${VAL2}'

使这种替代起作用的最简单方法是什么?我如何从 s2 构建 GString 并对其求值?(VALs 和 s2 是从数据库加载的,这个片段只是为了演示我的问题。)

最佳答案

如果可以将变量放入 Map 中,是否可以使用 SimpleTemplateEngine

import groovy.text.SimpleTemplateEngine

def binding = [ VAL1:'foo', VAL2:'bar' ]

def template = 'hello ${VAL1}, please have a ${VAL2}'

println new SimpleTemplateEngine().createTemplate( template ).make( binding ).toString()

编辑

您可以使用绑定(bind)而不是 map ,因此以下内容适用于 groovyconsole:

// No def.  We want the vars in the script's binding
VAL1 = 'foo'
VAL2 = 'bar'

def template = 'hello ${VAL1}, please have a ${VAL2}'

// Pass the variables defined in the binding to the Template
new SimpleTemplateEngine().createTemplate( template ).make( binding.variables ).toString()

关于groovy - 在 Groovy 中获取其名称的变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356057/

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