首页 > 解决方案 > 如何为groovy中另一个变量的变量名赋值?

问题描述

假设我有这个:

name = "some_name" 
address = "some_value"

我想将地址变量的值分配给名称变量的值,如下所示:

some_name = "some_value"

所以,当我做一些事情时

this is "${some_name}"

它应该打印

这是 some_value

我这样做是因为我需要将映射的键值对(我们从用户那里获得的输入)公开为变量,以便 Jenkins 构建可以访问它。

我试过了:

"${name}" = "${value}"

但它会引发错误。

Groovy 有什么办法,我可以做到这一点吗?

标签: groovyjenkins-groovy

解决方案


我不得不说这是一个奇怪的用例。如果再详细一点,也许有更好的方法来解决您的问题,但无论如何这应该适用于您的要求。

def name = "some_name"
def address = "some_value"

def myMap = [:]

myMap["${name}"] = address

println "this is ${myMap.some_name}"

输出:

this is some_value

推荐阅读