Ich versuche, einige Scala-Code in meine bestehende Java-App zu injizieren. (Also, wobei gesagt, ich will etwas mehr Spaß).
Ich erstelle ein singleton stuff in Scala
ScalaPower.scala
package org.fun
class ScalaPower
object ScalaPower{
def showMyPower(time:Int) = {
(0 to time-1).mkString(", ")
}
}
Jetzt, in OldJava.java
class OldJava {
public void demo(){
System.out.println(?)
}
}
Was soll ich ausfüllen? ?
damit Java die Methode showMyPower aufruft? Ich habe beides versucht org.fun.ScalaPower.showMyPower(10)
y org.fun.ScalaPower.getInstance().showMyPower(10)
aber keine funktioniert.
(Das Dekompilieren der Klassendatei mit Jad zeigt mir nichts als unsinnigen Code).
bearbeiten Ich entferne die class ScalaPower
Deklaration und Scala erzeugen die statische Methode wie erwartet. (Aufruf von org.fun.ScalaPower.showMyPower(10)
funktioniert einfach).
Ich frage mich, ob es ein Fehler im Scala-Compiler ist oder nicht
1 Stimmen
Was ist mit
org.fun.ScalaPower.showMyPower(10)
?0 Stimmen
Autsch, mein Fehler. Ich habe vergessen, den Namensraum zu ändern. Habe die Frage bereits aktualisiert. Danke dafür.
1 Stimmen
Übrigens, Sie können schreiben
0 until time
anstelle von0 to time-1
.