在Groovy中是否可以使用匿名代码块?例如,我正在尝试将以下Java代码转换为Groovy:
{
int i = 0;
System.out.println(i);
}
int i = 10;
System.out.println(i);
我能想到的最接近的翻译如下:
boolean groovyIsLame = true
if (groovyIsLame) {
int i = 0
println i
}
int i = 10
println i
我知道匿名代码块通常是一种反模式。但是具有类似“ inputStream0”和“
inputStream1”之类的变量的变量也是一种反模式,因此对于我正在处理的这段代码,匿名代码块会有所帮助。
您可以在Groovy中使用匿名代码块,但这些代码和闭包之间的语法不明确。如果尝试运行此命令,则实际上会收到此错误:
歧义表达式可以是无参数的闭包表达式或隔离的开放代码块;解决方案:添加一个显式的闭包参数列表,例如{it->
…},或通过在第1行第1列的行上给它一个标签,例如L:{…},来强制将其视为开放块。 1个
根据建议,您可以使用标签,它将允许您使用匿名代码块。用Groovy重写Java代码:
l: {
int i = 0
println i
}
int i = 10
println i
可能重复: 什么是双大括号初始化在Java? 在查看一些遗留代码时,我遇到了一些非常令人困惑的问题: 在调试模式下运行代码后,我发现匿名块是在调用构造函数之后调用的。上面的功能和做的有什么不同: ?我会认为它们在功能上是等价的,并且会认为后一种方式是更好/更干净的编写代码的方式。
问题内容: Java中是否有匿名代码块的实际用途? 请注意,这与命名块无关,即 。 问题答案: 它们限制变量范围。 但是,实际上,如果你发现自己使用了这样的代码块,则可能是你要将其重构为方法的信号。
本文向大家介绍Javascript 实现匿名递归的实例代码,包括了Javascript 实现匿名递归的实例代码的使用技巧和注意事项,需要的朋友参考一下 递归是一种常见的编程技巧,实名递归相信大家都不陌生,但如果想要实现匿名递归呢?比如想要返回一个匿名递归函数,又或者是定义一个匿名递归函数并直接调用它,该怎样去做呢?本文将来探讨一下它的实现。 实名递归 我们还是先从实名递归说起吧,还是用那个最简单的
解决方案是什么?只有4-5行代码隐藏并重新启动,然后完全成功运行,引导文件大小为149k。当我注释或删除4-5行代码时,它将无误运行!
本文向大家介绍Python中的匿名函数,包括了Python中的匿名函数的使用技巧和注意事项,需要的朋友参考一下 这些函数被称为匿名函数,因为它们不是通过使用def关键字以标准方式声明的。您可以使用lambda关键字创建小的匿名函数。 Lambda形式可以接受任意数量的参数,但仅以表达式形式返回一个值。它们不能包含命令或多个表达式。 匿名函数不能直接调用print,因为lambda需要一个表达式 L
OpenSSL S_Server s_server-no_tls1_3-密码ADH-AES128-SHA:ADH-AES128-SHA256:ADH-AES256-SHA256-状态-接受本地主机:14000-nocert-msg 使用默认临时DH参数 accept ssl_accept:SSL初始化之前 TLS 1.0,Alert[length 0002],fataleunderted_mess