问题标签 [groovyshell]

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 投票
2 回答
325 浏览

groovy - Groovy 元素比较

这是疯狂,还是这是斯巴达?

我在这里遇到了“令人惊讶的期望”的情况。Groovy 告诉我,我有一个整数的 ArrayList,我希望我应该能够像上面 3 个查询一样简洁而甜美地进行可爱的小搜索。但不是。

  1. 执行上述操作的惯用 Groovy 方式是什么(计算 x != some element 的元素数量)
  2. 为什么这不起作用?
0 投票
1 回答
594 浏览

groovy - GroovyShell 和 propertyMissing() 的问题

我在使用propertyMissing()时遇到问题GroovyShell

我有文件

当我运行时,FooScriptTest.groovy我期望输出

您试图将属性 'foo' 设置为 'bar'

这是属性'foo'

我得到的是:

酒吧

似乎我propertyMissing()的被默认覆盖了。我该如何防止这种情况?

0 投票
0 回答
231 浏览

groovy - 嵌入 groovy.lang.GroovyShell & 缺少命令支持

浏览 Groovy 源代码似乎有几个单独的 shell:

  • groovy.lang.GroovyShell
  • groovy.ui.InteractiveShell

IShell 类似乎有很多可用的命令,例如退出、帮助、历史记录等,其中没有一个是开箱即用的g.l.GroovyShell

  • 我应该使用哪个?
  • 是否可以将 is 命令安装到新的 shell 中?
  • InteractiveShell也加载JLine,这意味着它只能从命令行真正工作。

据我所知,我将不得不从InteractiveShell.

0 投票
1 回答
1082 浏览

security - Groovy/Grails:有没有办法让 .evaluate() 完全安全?

我有一种情况,我需要确定一个对象是否有资格“骑”另一个对象。车辆的规则非常混乱,我希望能够在不重新启动或重新编译我的项目的情况下更改它们。

这行得通,但基本上让我的安全朋友抽搐并说方言:

因此,如果我想添加规则,如果您的“stuff”是“peggy”或“waffles”并且您的 someNumber 大于您的 anotherNumber,那么您只有资格使用特定车辆,我所要做的就是:

使用 humanReadable = "peggy waffle some#>" (这是人类可读的解释)创建一个新的 ConstraintByClosure,然后将此字符串添加为closureText

然后我只是制作了一个 VehicleConstraintLinker 来链接它,瞧。

我的问题是:有什么方法可以限制 GroovyShell 的功能吗?我可以让它无法更改任何文件、全局变量或数据库数据吗?这足够了吗?

0 投票
1 回答
10865 浏览

java - Stopping the execution of a Groovy script

I am embeding Groovy runtime in my code and I would like to have the ability to interrupt it. I don't have control of the scripts that are going to run. I read about groovy.transform.ThreadInterrupt to handle thread interruptions but for some reason this code below isn't working as intended. It's actually waiting 10000 ms instead of the 1000 where it should get interrupted.

Any ideas? Thank you.

0 投票
3 回答
5054 浏览

groovy - groovysh 中的 MissingPropertyException

我运行groovysh,然后键入以下代码:

如何访问s这里?

(如果我更改String s = "Hello"s = "Hello",我可以访问它。但我想知道如何在示例中访问它)


更新

我想用来String s = "Hello"定义一个变量,因为我想声明它的类型。例如,如果我写:

日期将是java.util.Date. 但如果我写:

这将是一个ArrayList.

0 投票
1 回答
13178 浏览

binding - 如何使用 GroovyShell 列出所有绑定变量

我对 Groovy 很陌生。如何列出我传递给 Binding 构造函数的所有变量?

考虑到我有以下几点:

如何遍历 groovy.script 中的所有变量(通过 hashMap)?

0 投票
1 回答
2044 浏览

groovy - 无法在 groovysh 中加载 oracle.jdbc.driver.OracleDriver?

我正在尝试阅读有关 GroovySQL的教程。我需要连接的数据库是 Oracle 数据库。于是我下载了 ojdbc6.jar并放入~/.groovy/lib/. 如果我将以下脚本放在 .groovy 文件中,我可以这样做groovy testScript.groovy并且它会成功:

当我尝试通过 做同样的事情时groovysh,我收到以下错误:

如何在 Groovy shell 中使用 Oracle JDBC 驱动程序?

0 投票
3 回答
562 浏览

perl - 如何绕过外部进程的确认提示?

如何将此 Perl 代码转换为 Groovy?

如何绕过外部进程的确认提示?

我正在尝试将 Perl 脚本转换为 Groovy。该程序正在自动加载/删除 maestro(作业调度)作业。问题是删除命令将提示它找到的每个作业的确认(Y/N)。我尝试在 groovy 中执行该过程,但会在提示符处停止。Perl 脚本正在将一堆 Y 写入流并将其打印到处理程序(如果我理解正确的话)以避免停​​止。我想知道如何在 Groovy 中做同样的事情?

或任何其他执行命令并以某种方式在每个确认提示上写 Y 的方法。

Perl 脚本:

这是我的工作常规代码:

0 投票
1 回答
5758 浏览

groovy - 动态创建键值对

我有以下常规脚本:

以下几行导致我的问题:

我想要做的是为地图中的每个条目创建键:值对的真实部分......我知道我没有以那种方式定义列表......我试图增强使用 files[file_key].put(key, value) 映射;但这不起作用...也许我在想一个完全错误的方向...该构造的背景是在文件(file-1.bat、file-1 等)中,我将检查是否存在以地图形式给出的内容

我可以执行以下操作:

但这正是我想要避免的。