加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 16:26:09 所属栏目:大数据 来源:网络整理
导读:标题可能会产生误导.我真正想要的是知道控制器中闭包的名称.但是Groovy中的闭包始终是匿名的,因此闭包本身没有名称.但是闭包被分配给一个变量,我想知道我是否可以获得该变量的名称.也许一个例子会有所帮助.在Grails控制器中想象我有以下内容: def get_data
标题可能会产生误导.我真正想要的是知道控制器中闭包的名称.但是Groovy中的闭包始终是匿名的,因此闭包本身没有名称.但是闭包被分配给一个变量,我想知道我是否可以获得该变量的名称.也许一个例子会有所帮助.在Grails控制器中想象我有以下内容:

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

在Map中称为结果,有一个名为’method’的元素,我希望将其分配给此闭包的名称(或者将闭包更加精确的变量).这可能吗?这里的想法是我想概括结果图并想要自动填充一个名为’method’的元素.本能地感觉这应该是可能的,但我没有发现任何类似的用例来说明如何.任何帮助非常感谢.

解决方法

我不认为你可以在一般情况下获得变量的名称.这只是一个参考,闭包可以分配给它们中的许多.

但是,在控制器代码中获取当前操作的名称非常简单:

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

见documentation.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读