标签: groovy

Scala vs. Groovy vs. Clojure

有人可以解释Scala,Groovy和Clojure之间的主要区别.我知道这些编译中的每一个都在JVM上运行,但我想在它们之间进行简单的比较.

groovy scala language-comparisons clojure

676
推荐指数
5
解决办法
17万
查看次数

如何将Groovy中的文件读入字符串?

我需要从文件系统中读取一个文件并将整个内容加载到一个groovy控制器中的字符串中,最简单的方法是什么?

groovy file

297
推荐指数
6
解决办法
23万
查看次数

Groovy String to int

我有一个String表示整数值,并希望将其转换为int.是否有一个常规的Java相当于Integer.parseInt(String)

groovy

270
推荐指数
6
解决办法
30万
查看次数

javascript中是否存在null-coalescing(Elvis)运算符或安全导航运算符?

我将通过例子解释:

猫王运营商(?:)

"Elvis运算符"是Java三元运算符的缩写.这方面的一个实例是,如果表达式解析为false或null,则返回"合理的默认值".一个简单的例子可能如下所示:

def gender = user.male ? "male" : "female"  //traditional ternary operator usage

def displayName = user.name ?: "Anonymous"  //more compact Elvis operator
Run Code Online (Sandbox Code Playgroud)

安全导航操作员(?.)

安全导航操作符用于避免NullPointerException.通常,在引用对象时,可能需要在访问对象的方法或属性之前验证它是否为null.为了避免这种情况,安全导航操作符将只返回null而不是抛出异常,如下所示:

def user = User.find( "admin" )           //this might be null if 'admin' does not exist
def streetName = user?.address?.street    //streetName will be null if user or user.address is null - no NPE thrown
Run Code Online (Sandbox Code Playgroud)

javascript jquery groovy safe-navigation-operator

185
推荐指数
13
解决办法
8万
查看次数

Groovy Shell警告"无法打开/创建prefs根节点......"

我试图groovysh在Windows 8上打开Groovy Shell()并得到以下输出:

java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs 
at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Run Code Online (Sandbox Code Playgroud)

打印完上述消息后,shell按预期启动.

windows groovy groovyshell

183
推荐指数
5
解决办法
14万
查看次数

如何使用Jenkinsfile(groovy)中的变量执行shell命令的输出?

我在Jenkinsfile(Groovy)上有这样的东西,我想在变量中记录stdout和退出代码,以便稍后使用这些信息.

sh "ls -l"
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做,特别是因为你似乎无法在里面运行任何类型的groovy代码Jenkinsfile

groovy jenkins-workflow jenkins-pipeline jenkinsfile

178
推荐指数
6
解决办法
24万
查看次数

Groovy:"def x = 0"中"def"的目的是什么?

在下面的一段代码中(取自Groovy Semantics Manual页面),为什么要使用关键字为赋值添加前缀def

def x = 0
def y = 5

while ( y-- > 0 ) {
    println "" + x + " " + y
    x++
}

assert x == 5
Run Code Online (Sandbox Code Playgroud)

def关键字可以被删除,这个片段将产生相同的结果.那么关键字的效果def什么?

groovy keyword

175
推荐指数
6
解决办法
8万
查看次数

Groovy/grails如何确定数据类型?

在groovy中确定数据类型的最佳方法是什么?

如果它是日期等,我想以不同的方式格式化输出.

groovy types

168
推荐指数
3
解决办法
15万
查看次数

在Groovy中循环浏览地图?

我有一个非常简单的任务,我想在Groovy中做,但似乎无法让它工作.我只是试图循环遍历groovy中的地图对象并打印出键和值,但这段代码不起作用.

// A simple map
def map = [
        iPhone : 'iWebOS',
        Android: '2.3.3',
        Nokia  : 'Symbian',
        Windows: 'WM8'
]

// Print the values
for (s in map) {
    println s + ": " + map[s]
}
Run Code Online (Sandbox Code Playgroud)

我试图让输出看起来像这样:

iPhone: iWebOS
Android: 2.3.3
Nokia: Symbian
Windows: WM8
Run Code Online (Sandbox Code Playgroud)

有人可以详细说明如何做到这一点?

groovy dictionary

167
推荐指数
4
解决办法
20万
查看次数

Groovy执行shell命令

Groovy添加了execute方法,String使执行shell相当容易;

println "ls".execute().text
Run Code Online (Sandbox Code Playgroud)

但如果发生错误,则没有结果输出. 是否有一种简单的方法可以同时获得标准错误和标准错误? (除了创建一堆代码;创建两个线程来读取两个输入流,然后使用父流等待它们完成然后将字符串转换回文本?)

有类似的东西会很高兴;

 def x = shellDo("ls /tmp/NoFile")
 println "out: ${x.out} err:${x.err}"
Run Code Online (Sandbox Code Playgroud)

groovy

162
推荐指数
6
解决办法
22万
查看次数