我在Groovy中有一个变量,如下所示:
project.Map
{
time.'1 1 * ?' = ['T1']
time.'2 1 * ?' = ['T2']
templates.'T1' = ['Z','X','Y']
templates.'T2' = ['Q']
}
抱歉,当我尝试访问个人时,我是groovy的新手 project.map中的变量值我如何访问它们
我尝试了类似下面的内容
log.info(grailsApplication.config.project.Map.time[1])
log.info(grailsApplication.config.project.Map.get('time.'2 1 * ?'' ))
log.info(grailsApplication.config.project.Map.get('time[0]' ))
log.info(grailsApplication.config.project.Map.time.get('1 1 * ?'))
但它们都打印空值或对象引用。我是如何访问值的 时间和模板都在for循环中,没有它。
答案 0 :(得分:4)
请参阅http://grails.org/doc/latest/guide/conf.html#config了解允许配置嵌套的方式。特别提到你的外部语法是不允许的:
但是,使用点表示法后,您无法嵌套。换句话说,这不会起作用:
// Won't work! foo.bar { hello = "world" good = "bye" }
你必须把它写成
project { Map { ... } }
内部虚线部分(带有分配)是可以的(根据文档)