【发布时间】:2015-01-29 16:43:09
【问题描述】:
给定以下 Groovy 代码:
someMap = ['key':{ str -> println "SUCCESS: ${str}" }]
clos = { someMap }
以下都是打印SUCCESS: abc的合法方式:
clos(null)['key'] "abc"
clos null key "abc"
someMap['key'] "abc"
然而,这个:
someMap key "abc"
抛出groovy.lang.MissingPropertyException: No such property: key for class: ConsoleScript50。
如果clos(null) 和someMap 都解析为java.util.LinkedHashMap,那么是什么让clos null key "abc" 合法,但someMap key "abc" 不合法?
【问题讨论】:
标签: groovy closures fluent method-chaining