Ich versuche, eine Scala-Implementierung eines Algorithmus für die Verwendung in JavaScript zu exportieren. Ich benutze @JSExport
. Der Algorithmus arbeitet mit Scala Char
und Werten, die als opak im markiert sind.Arbeiten mit undurchsichtigen Typen (Char und Long)
Ich würde gerne wissen (a) was das bedeutet; und (b) was die Empfehlung ist, damit umzugehen.
ich es vermute, bedeutet, dass ich Char
und Long
und arbeiten mit String
sowie eine Laufzeitprüfung auf Länge (oder vielleicht ein unförmig Sized
Sammlung verwenden) und Int
stattdessen vermeiden sollten.
Aber andere Ideen willkommen.
Weitere Einzelheiten ...
Die Art von Code auf ich suche, ist:
@JSExport("Foo")
class Foo(val x: Int) {
@JSExport("add")
def add(n: Int): Int = x+n
}
..., die wie erwartet funktioniert: new Foo(1).add(2)
produziert 3
.
Austausch der Arten mit Long
den gleichen Anruf Berichte: java.lang.ClassCastException: 1 is not an instance of scala.scalajs.runtime.RuntimeLong
(und etwas ähnliches mit Methoden, die nehmen und das Rück Char
).
Danke - das ist super klar. –