问题标签 [jvm-languages]
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.
java - 如何将 Jython 文件导入 Groovy?
我想使用一些 Jython 代码作为 Groovy 闭包,因此我认为我需要将 Jython 文件导入 Groovy 脚本并将其传递给 Groovy 的 MethodClosure() 函数以生成闭包。
例如,我把它放到一个 Groovy 文件中:
显然 jythonc 已被弃用,我在我的系统上找不到它,所以我通过从另一个 .py 文件导入它并在另一个文件上运行 Jython 来生成 rand$py.class。rand$py.class 与 Groovy 文件位于同一目录中。
这是我尝试执行 Groovy 文件时遇到的错误:
看起来它正在找到它,因为它以某种方式知道它是一个 Python 文件(或者它知道是因为 $py 在它们的名字中吗?)。我通常不在 JVM 中工作,所以我可能缺少一些基本的东西。
编辑:我改为import rand$py
查看import bogus$py
它是否产生了相同的错误,但它没有,所以看起来它的某些部分正在寻找类文件:
jvm - 为什么 JVM 是基于堆栈的虚拟机?
为什么 JVM 是基于堆栈的虚拟机?这到底是什么意思,与基于寄存器的虚拟机相比有什么优势?虚拟机制造商还有其他主要的设计/实现选择吗?
haskell - JVM上的Haskell?
我想知道是否有某种方法可以让 Haskell 在 JVM 上运行(编译或解释)?
Sourceforge 上存在 JHaskell,但这个似乎是空的和死的。
GHC 使用 LLVM 作为编译器后端。将 LLVM 编译为 Java 字节码是个好主意还是可能?或者也许使用不同的编译器后端?
xml - 使用 Scala 解析 XML:相当于 JS 中的“getElementByTagName(name)”
Scala 中的 XML 解析似乎并不像应有的那样简单明了。
我需要的是与 JavaScript 中的 document.getElementsByTagName(name) 类似的东西,但出于我的目的,我只需要特定标记名的第一个元素。这是我最终得到的结果:
它基本上是递归的,直到找到匹配项或用尽所有可能性。
既然需要我拥有此能力的功能已经发布,我已经对此进行了更多审查,这真的让我很烦恼。我确信有许多 Java 库可用于帮助解析 XML,但鉴于 Scala 对生成 XML 的本机支持(即它几乎可以在任何地方内联),我很好奇我是否遗漏了什么。
在 Scala 中有没有更好的方法来做到这一点?
java - 有没有类似 Java 的 VirtualEnv 之类的东西?
有没有类似于用于 Java 或 JVM 语言的 Python virtualenv的东西?
scala - Scala 中的 def foo = {} 和 def foo() = {} 有什么区别?
给定以下用于在 Scala 中定义函数的结构,您能解释一下区别是什么,以及会产生什么影响吗?
对比
更新
感谢您的快速回复。这些很棒。留给我的唯一问题是:
如果我省略括号,还有没有办法传递函数?这是我在 repl 中得到的:
2012-09-14 更新
以下是我注意到的一些类似问题:
java - 当您说“这种语言在 JVM 上运行”时,它的真正含义是什么?
我最近听到了很多关于应该在 JVM 上运行的 Scala、Clojure 等。这是否意味着这些语言在底层实现了 Java API?一种语言在 JVM 下运行意味着什么?
谢谢。
groovy - 我如何找到形成给定输入的可能组合
我有一个这样的列表,例如列表名称是output
:
我有这样的输入,比如说input
:
现在显然,input
可以由 形成output
。我尝试了subsequences()
寻找output
形成 的可能组合input
,但问题是它不适用于所有input
.
谁能告诉我我怎么能找到output
等于的组合input
?并且可能存储在一些list
.
提前致谢。
java - 帕斯卡中的 const TAB = ^I 是什么?
我在这里学习教程。在The Cradle标题下,您可以看到代码:
好吧,这是一个帕斯卡代码,实际上我正在尝试将这些帕斯卡代码重新实现为 Java 或 groovy(以便我可以使用 Java 或 groovy 构建一种编译器)。但是上面的编码语句在 pascal 中是什么意思呢?
我如何用 Java 或 Groovy 表示它?
提前致谢。
java - 在这段代码中,Groovy 的执行方式与 Java 不同
我在这里查看了这个问题。这个问题的问题是这一行:
正如一些答案所说:
答案对我来说是正确的。现在在 groovy 中,我尝试了与之前相同的代码:
甚至这行代码也可以编译:
Groovy 如何执行此操作?所有JVM语言都这样做吗?在 Groovy 的情况下,幕后发生了什么。
这不会违反 Java 规则吗?有点糊涂。
作为参考,我在此处标记了有效的 Groovy 代码
提前致谢。