To tylko głupie pytanie, które miałem dziś rano: Czy możemy używać klas Scala z clojure?Klasy Scala w clojure
Bo jeśli odpowiedź brzmi tak, to będę na pewno nauczyć
To tylko głupie pytanie, które miałem dziś rano: Czy możemy używać klas Scala z clojure?Klasy Scala w clojure
Bo jeśli odpowiedź brzmi tak, to będę na pewno nauczyć
klas Scala Clojure ^^ są klasami Java i można korzystać z klas Java z Clojure całkiem wygodnie.
Baw się dobrze przy nauce Clojure. :-)
Klasy Cloujre (utworzone za pomocą 'gen-class' i' deftype/defrecord') mogą być również używane w Scali. Pod spodem znajduje się cały kod bajtowy. –
Problem polega na tym, że metody Scala mają brzydkie i pełne nazw w Javie ("+" staje się $ plus ...), czy to samo z Clojure? – Aymen
Niestety tak. Jak "puste" staje się "puste_QMARK". Jest tak dlatego, że Java (lub JVM?) Nie obsługuje takich znaków w identyfikatorach. –
Klasy Scala, tak. Scala obiekty singleton, z tym samym rokiem podpisu jak z Javy. Cechy Scala, nie. Scala implikuje, ha, jesteś żart!
Doświadczenie może się zatem wahać od "ok", jeśli chodzi tylko o zajęcia, do bardzo nieprzyjemnych, na przykład w przypadku kolekcji Scala.
Nie wiem na temat implicite, ale cechy to interfejsy, prawdopodobnie połączone z klasami pomocniczymi. Daniel Spiewak ma [fajny zapis] (http://www.codecommit.com/blog/java/interop-between-java-and-scala) na współdziałaniu Scala/Java, w tym rozdział dotyczący używania cech z Javy; sądząc z tego, staje się nudny dla cech, które nie są "czysto abstrakcyjne", ale w Clojure wiele z tego nudy - być może prawie wszystkich - można było usunąć za pomocą makr. –
warto powiedzieć, że klasy Scala, które przyjmują parametry funkcji, takich jak:
Option.map(f : A => B)
Czy mało prawdopodobne, aby być bardzo użyteczny z Clojure, ponieważ kompilator Clojure nie włączy lambdy Clojure do wystąpień scala.FunctionN
. Jestem z Danielem - myślę, że współpraca będzie niska.
Jestem prawie pewien, że możesz użyć makr, aby rozwiązać problem z użytecznością - po prostu pobierz makro, aby owinąć Clojure lambda w scala.functionN? – mikera
Dlaczego tag scala-2.8? Czy jest coś konkretnego dla tej wersji? –