问题标签 [gstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3044 浏览

groovy - 如何避免评估 GString

我正在使用 groovy 扩展遗留脚本系统。源脚本是“类 java”,因此它主要解析为带有一点预处理的 groovy 脚本。

我正在使用 invokeMethod() 和 missingMethod() 来传递遗留代码,使我能够使用闭包和其他常规功能来增强脚本。但是,原始脚本使用“$foo”类型的字符串来引用变量。当missingMethod() 捕获到遗留方法时,我需要它不要将此字符串评估为GString,而只是逐字输出。这有可能吗?

0 投票
2 回答
7166 浏览

groovy - 在 Groovy 中获取其名称的变量值

我定义了以下变量:

使这种替换起作用的最简单方法是什么?我如何构建 GStrings2并对其进行评估?(VALs 和 s2 是从数据库中加载的,此代码段仅用于演示我的问题。)

0 投票
1 回答
5951 浏览

groovy - 传递要在 groovy gstring 中评估的变量

我想知道是否可以在 gstring 评估中传递要评估为 String 的变量。最简单的例子是这样的

我希望在 person 实例中输出 lastName 的值。作为最后的手段,我可​​以使用反射,但想知道在 groovy 中应该有一些更简单的东西,我不知道。

0 投票
2 回答
1319 浏览

sql - GString 中的转义点

我想学习如何在 GString 中转义点,因此 groovy (1.8) 不会将其视为sql.execute中变量的一部分。我有以下代码:

我得到了这个错误:

明确表示。被解释为变量 ${myDbPrefix} 的一部分。

0 投票
3 回答
46247 浏览

list - Create String list in Groovy

The following code in Groovy adds GStrings to the list:

When I create a ProcessBuilder with this list, I get a ClassCastException. What's a groovy way to coerce the list elements to the correct type?

0 投票
2 回答
1520 浏览

grails - Grails 使用 gstrings 访问嵌套字段

我正在尝试使用 gstring 访问嵌套字段,但它会引发异常 groovy.lang.MissingPropertyException

我有两节课

我正在做的代码中的某个地方,

我试图从人那里获取城市的行是抛出 groovy.lang.MissingPropertyException

如果我尝试使用 gstring 获取直接属性,它可以工作,但上面给出的代码不起作用。

有什么帮助吗?

0 投票
2 回答
134 浏览

groovy - 在 groovy 中使用参数运行时调用方法

为简单起见,假设我有类似这样的代码:

我需要执行传递给方法“evaluate”的表达式值。

在打电话的情况下

在打电话的情况下

在打电话的情况下

我怎样才能做到这一点?谢谢。

0 投票
1 回答
1401 浏览

groovy - Groovy 如何为异常消息多行 GStrings

对于不应跨越一定数量的字符/行(例如 80 个字符)的 Groovy 错误消息的标准(或最佳实践)是什么?

考虑以下(工作正常)

这将导致一条没有缩进字符的单行错误消息(我想要的)。但是还有其他方法(“Groovy 的做法”)如何实现这一点?如果没有,您如何在独立的 Groovy 应用程序中将这样的方法添加到 GString 类(如果发现有关 Bootstrap.groovy 文件的提示,但它似乎与 Grails 相关)?

例子:"""Consider a multi line string as shown above""".toSingleLine()

0 投票
2 回答
5000 浏览

groovy - Groovy 如何在 GString 中从 char[] 转换为 String?

我试图弄清楚 Groovy 如何将 a 转换char[]为 aString内的 a GString

例子:

结果:

经过

起初我以为它会在 char[] (http://groovy.codehaus.org/groovy-jdk/primitive-types/char[].html#toString()) 上使用 toString() 方法。但运行以下代码的结果似乎另有说明:

结果:

经过

****

经过

我也尝试过覆盖invokeMethod()以试图弄清楚它无济于事:

结果:

经过

在类 [C: toString, [] 上调用的方法

****

经过

有谁知道 Groovy 是如何进行这种转换的?

0 投票
2 回答
54527 浏览

groovy - 在 GStringImpl 上使用 equals() 和 == 的 Groovy 不同结果

根据Groovy 文档,这==只是一个“聪明的” equals(),因为它还负责避免NullPointerException

Java 的==实际上是 Groovy 的is()方法,而 Groovy 的方法==很聪明equals()

[...]

但是要进行通常的equals()比较,您应该更喜欢 Groovy 的==,因为它还负责避免NullPointerException,无论左右是否null存在。

因此,如果对象不为空, ==and应该返回相同的值。equals()但是,我在执行以下脚本时得到了意想不到的结果:

我得到的输出是:

这是一个已知的错误,GStringImpl还是我遗漏的东西?