标签: jvm-languages

如何在Eclipse IDE中添加新的JVM语言,例如Scala,Clojure,Fantom,Groovy?

通过scala-lang.org下载Scala的优先方法是什么,它可以由Eclipse IDE直接添加,还是如何将Scala添加到Eclipse IDE?是否有关于如何添加JVM语言的约定?

更新

我可以从帮助中添加Clojure和Scala ...安装新软件,所以现在我可以创建这些类型的项目:

在此输入图像描述

eclipse groovy scala clojure jvm-languages

2
推荐指数
2
解决办法
995
查看次数

JVM语言的包

在Java中,类被放置在一个包中包含的声明package com.acme.foo ,并把你的源文件中像一个子目录com/acme/foo.

我正在研究一种JVM语言,它不会像Java 那样重复自己的风格,所以我将使用这些机制中的一种或另一种,但不是两种,我想知道使用哪种机制.

其他JVM语言如Scala和Clojure如何处理它?他们需要两种机制还是只需一种机制,如果是这样的话?

java jvm scala clojure jvm-languages

2
推荐指数
1
解决办法
363
查看次数

哪种JVM语言适合我的需求?

我想学习一些JVM语言,但有很多

编辑:如何选择所有JVM语言之间的语言?

至于我的需求,我只是想学习一些新东西,也许目前用它来做一些爱好项目,但如果所获得的技能对未来的大项目有用,那就更喜欢了.仍然很想知道有不同需求的人应该选择什么.

(之前我有一个问题清单,但我被告知他们已经在维基百科上了)

jvm-languages

1
推荐指数
2
解决办法
1143
查看次数

在Grails应用程序中编译Groovy代码

当我为我的Grails应用程序构建war文件时,grails war它仍然包含一些groovy文件.

战争文件部署在应用程序服务器上后,何时以及如何将这些文件编译为java字节码?

grails groovy jvm-languages

1
推荐指数
1
解决办法
726
查看次数

哪种基于JVM的脚本语言使用"when"作为分支控制关键字(而不是"if")?

我看到一个带有代码片段的演示文稿,其中包含"when"而不是"if".代码看起来像基于JVM的脚本语言,使用缩进而不是"{}"而不是每行都用';'完成

你能给我一个线索,它可能是哪种语言?

programming-languages jvm-languages indentation

1
推荐指数
1
解决办法
111
查看次数

当Object Class被添加为超类时?

我正在浏览Object类JAVA-docs,因为我们知道Object是所有类的基类.但我想知道,当Object类被添加为超类时?是编译时还是运行时(理想情况下应该是在编译时)?

另外,正如我读过JVM自动检查一个类是否继承自父类,那么它不会将Object作为超类添加以避免继承 - 钻石问题但是在抽象类/内部类的情况下会发生什么?将添加Super class-Object在哪里?

在创建任何新的内置对象示例HashMap时,我们可以从源代码看到内部工作,同样可以在Java源代码中的任何地方看到此功能,还是由内部编译器完成?

java inheritance jvm jvm-languages

1
推荐指数
1
解决办法
113
查看次数

在Groovy中使用When和Then?

我在Groovy的几篇文章中看到了在Groovy中使用"when"和"then"关键字.其中一个就在这里.我搜索了Groovy Doc,但我找不到它.那么这些关键字的实际目的是什么?类似if/then?

groovy jvm-languages

0
推荐指数
1
解决办法
3656
查看次数

编译Scala脚本.Scala脚本的工作原理如何?

Groovy的

Groovy带有一个名为的编译器groovyc.对于每个脚本,groovyc生成一个扩展的类groovy.lang.Script,其中包含一个main方法,以便Java可以执行它.已编译类的名称与正在编译的脚本的名称相匹配.

例如,使用此HelloWorld.groovy脚本:

println "Hello World"
Run Code Online (Sandbox Code Playgroud)

这就像这段代码:

class HelloWorld extends Script {
    public static void main(String[] args) {
        println "Hello World"
    }
}
Run Code Online (Sandbox Code Playgroud)

斯卡拉

Scala带有一个名为的编译器scalac.

例如,使用相同的HelloWorld.scala脚本:

println("Hello World")
Run Code Online (Sandbox Code Playgroud)

代码无效scalac,因为编译器期望类或对象定义,但在Scala REPL Interpreter中工作.怎么可能?在执行之前它是否包含在类中?

groovy scala jvm-languages scalac scala-script

0
推荐指数
1
解决办法
583
查看次数

Kotlin:带有 get/set 运算符的具体化泛型的 UnsupportedOperationException

我正在尝试将库中的函数read和分别转换为运算符函数和。我的函数使用具体化的泛型类型,它们也是内联方法。(你可以在这里看到我的图书馆writegetset。)

编译器没有问题让我通过,我不明白为什么使用非运算符函数推理工作得很好,但使用运算符在运行时失败。

Exception in thread "main" java.lang.UnsupportedOperationException: This function has a reified type parameter and thus can only be inlined at compilation time, not called directly.
    at kotlin.jvm.internal.Intrinsics.throwUndefinedForReified(Intrinsics.java:173)
    at kotlin.jvm.internal.Intrinsics.throwUndefinedForReified(Intrinsics.java:167)
    at kotlin.jvm.internal.Intrinsics.reifyJavaClass(Intrinsics.java:201)
Run Code Online (Sandbox Code Playgroud)

代码如下:

operator inline fun <reified T> get(address: Long): T {
    ...
}

operator inline fun <reified T> get(address: Int): T = get(address.toLong())

operator inline fun <reified T> set(address: Long, data: T) {
   ...
}

operator inline fun <reified T> set(address: Int, …
Run Code Online (Sandbox Code Playgroud)

function operator-overloading jvm-languages reification kotlin

0
推荐指数
1
解决办法
2769
查看次数