gpt4 book ai didi

grails - 在 Groovy 中,有没有办法知道包含闭包的变量的名称?

转载 作者:行者123 更新时间:2023-12-04 23:07:50 25 4
gpt4 key购买 nike

标题可能有误导性。我真正想要的是知道 Controller 中闭包的名称。但是 Groovy 中的闭包始终是匿名的,因此没有闭包本身的名称。但是闭包被分配给了一个变量,我想知道我是否可以获得该变量的名称。也许一个例子会有所帮助。在 Grails Controller 中,想象一下我有以下内容:

  def get_data = {
Map results = [ 'errorCode' = -1, 'method' : 'get_data' ]
...
render results as JSON
}

在名为 results 的 Map 中有一个名为 'method' 的元素,我想将它分配给这个闭包的名称(或者更准确地说是持有闭包的变量)。这可能吗?这里的想法是我想概括结果映射并希望自动填充一个名为“方法”的元素。本能地感觉这应该是可能的,但我还没有找到任何类似的用例来说明如何。非常感谢任何帮助。

最佳答案

我认为在一般情况下您无法获得变量的名称。这只是一个引用,闭包可以分配给其中许多。

然而,在 Controller 代码中获取当前操作的名称非常简单:

def get_data = {    
def results = ['method': actionName]
}

documentation .

关于grails - 在 Groovy 中,有没有办法知道包含闭包的变量的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6987372/

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