如何在 Groovy 中的键名中使用变量?
如何将变量用于地图的关键部分中的技巧不适用于以下内容。
如何让它发挥作用?
def x = [users:[[name:'Alice', age:30], [name:'Bob', age:25]], settings:[app:[name:'ExampleApp', version:'1.0.0']]]
println x
def userNameKey = "users[0].name"
def appVersionKey = "settings.app.version"
def firstUserName = x."(userNameKey)" // Accesses "users[0].name"
println "First user's name: ${firstUserName}"
def appVer = x."$appVersionKey" // Accesses "settings.app.version"
println "App version: ${appVer}"
评估动态表达式的最简单方法 - Eval.me
def x = [
users:[
[name:'Alice', age:30],
[name:'Bob', age:25]],
settings:[app:[name:'ExampleApp', version:'1.0.0']]
]
def userNameKey = "ROOT.users[0].name"
def appVersionKey = "ROOT.settings.app.version"
def firstUserName = Eval.me("ROOT", x, userNameKey)
println "First user's name: ${firstUserName}"
def appVer = Eval.me("ROOT", x, appVersionKey)
println "App version: ${appVer}"
打印:
First user's name: Alice
App version: 1.0.0