首页 文章
  • 1 votes
     answers
     views

    传递变量以在groovy gstring中进行评估

    我想知道我是否可以在gstring评估中传递变量以被评估为String . 最简单的例子就是这样 def var ='person.lName' def value = "${var}" println(value) 我希望在person实例中输出lastName的值 . 作为最后的手段,我可以使用反射,但想知道在groovy中应该有一些更简单的东西,我不知道 .
  • 0 votes
     answers
     views

    Groovy GString变量双替换

    我有一个Groovy脚本 . 在Java中通过Binding我提供: binding.put( 'a','Hello') 我通过GroovyShell运行脚本,我做: print "${a}" 将打印 Hello 我需要 print "${a}" ,其中 a 可以是调用另一个方法的任何文本 . 只需打印一个名称在运行时确定的变量 . 这怎么可能 ? 还...
  • 3 votes
     answers
     views

    如何避免评估GString

    我正在使用groovy扩展遗留脚本系统 . 源脚本是“类似Java的”,因此它主要通过一些预处理来解析为groovy脚本 . 我正在使用invokeMethod()和missingMethod()来传递遗留代码,使我能够使用闭包和其他常规功能来增强脚本 . 但是,原始脚本使用“$ foo”类型的字符串来引用变量 . 当missMethod()捕获遗留方法时,我需要它不将此字符串计算为GString...
  • 2 votes
     answers
     views

    将GStrings存储在变量中并在运行时进行评估

    我在 Map 中存储了一些GStrings,并尝试在运行时评估它们: //this is in begginning of my class or controller or service and is a global variable def placeholderStrings=["nameString":"My name is $name",&qu...
  • 2 votes
     answers
     views

    为什么在 Map 中处理GString键的方式有不同的行为?

    在官方文档中研究Groovy(2.4.4)语法时,我遇到了关于使用GStrings作为标识符的 Map 的特殊行为 . 如文档中所述,GStrings作为(哈希)映射标识符是一个坏主意,因为未评估的GString对象的哈希码与常规String对象的不同,其表示与评估的GString相同 . 例: def key = "id" def m = ["${key}&quot...
  • 1 votes
     answers
     views

    Groovy闭包中的Lazy GString评估

    我试着理解为什么在下面的代码片段中,如果在封闭内部创建了GString,那么它会被评估为好,但如果我尝试在外部创建String并尝试在闭包内部进行评估,则会抛出异常: map1 = ['foo': 1, 'bar': 2] map2 = ['foo': 3, 'bar': 4] dynamicallyGeneratedString = "key1: ${->key1}, val1...

热门问题