Pytania otagowane jako scala

Scala jest językiem programowania ogólnego przeznaczenia, którego głównym celem jest wirtualna maszyna Java. Zaprojektowany do wyrażania typowych wzorców programowania w zwięzły, elegancki i bezpieczny sposób, łączy w sobie imperatywny i funkcjonalny styl programowania. Jego kluczowe cechy to: zaawansowany statyczny system typów z wnioskowaniem typu; typy funkcji; dopasowywanie wzorów; niejawne parametry i konwersje; przeciążenie operatora; pełna interoperacyjność z Javą; konkurencja

5
Rozpakowywanie krotki scala
Wiem, że to pytanie pojawiało się wiele razy na różne sposoby. Ale nadal nie jest to dla mnie jasne. Czy jest sposób, aby osiągnąć następujące cele. def foo(a:Int, b:Int) = {} foo(a,b) //right way to invoke foo foo(getParams) // is there a way to get this working without explicitly unpacking …


5
Operator trójskładnikowy podobny do?:
Staram się unikać takich konstrukcji: val result = this.getClass.getSimpleName if (result.endsWith("$")) result.init else result Ok, w tym przykładzie gałęzie theni elsesą proste, ale możesz wyobrazić sobie złożone. Zbudowałem następujące elementy: object TernaryOp { class Ternary[T](t: T) { def is[R](bte: BranchThenElse[T,R]) = if (bte.branch(t)) bte.then(t) else bte.elze(t) } class Branch[T](branch: T …
94 scala 

3
Dlaczego niezmienny zestaw Scali nie jest kowariantny w swoim typie?
EDYCJA : Ponownie napisano to pytanie na podstawie oryginalnej odpowiedzi scala.collection.immutable.SetKlasa nie jest kowariantna w jego parametr typu. Dlaczego to? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = { println(s) } def bar(): Unit = { val s: Set[String] = Set("Hello", "World"); foo(s); //DOES NOT COMPILE, regardless of whether type is …

3
Niejawna konwersja a klasa typu
W Scali możemy użyć co najmniej dwóch metod do modernizacji istniejących lub nowych typów. Załóżmy, że chcemy wyrazić, że coś można określić ilościowo za pomocąInt . Możemy zdefiniować następującą cechę. Niejawna konwersja trait Quantifiable{ def quantify: Int } A potem możemy użyć niejawnych konwersji do kwantyfikacji np. Ciągów znaków i …

10
Czy w Scali mogę spakować więcej niż dwie listy?
Biorąc pod uwagę następującą listę Scala: val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3")) Jak mogę zdobyć: List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")) Ponieważ zip może być używany tylko do łączenia dwóch list, myślę, że musiałbyś jakoś powtórzyć / zmniejszyć główną listę. Nic …

4
Jakie są przykładowe przypadki użycia literałów symboli w Scali?
Użycie literałów symboli nie jest od razu jasne z tego, co przeczytałem w Scali. Czy ktoś chciałby podzielić się niektórymi zastosowaniami w prawdziwym świecie? Czy istnieje określony idiom Java objęty literałami symboli? Jakie języki mają podobne konstrukcje? Pochodzę z języka Python i nie jestem pewien, czy jest coś podobnego w …
93 syntax  scala 

1
Jakie są przypadki użycia scala.concurrent.Promise?
Czytam SIP-14 i koncepcja Futurema doskonały sens i jest łatwa do zrozumienia. Ale mam dwa pytania dotyczące Promise: SIP mówi Depending on the implementation, it may be the case that p.future == p. Jak to może być? Czy są Futurei Promisenie są dwoma różnymi typami? Kiedy powinniśmy użyć Promise? Przykładowy …

16
Spark - Błąd „Główny adres URL musi być ustawiony w konfiguracji” podczas przesyłania aplikacji
Mam aplikację Spark, która działa bez problemu w trybie lokalnym, ale mam pewne problemy podczas przesyłania do klastra Spark. Komunikaty o błędzie są następujące: 16/06/24 15:42:06 WARN scheduler.TaskSetManager: Lost task 2.0 in stage 0.0 (TID 2, cluster-node-02): java.lang.ExceptionInInitializerError at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579) at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579) at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:390) at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1595) at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1157) at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1157) …



3
Jak zastosować wzorzec wzbogacania mojej biblioteki do kolekcji Scala?
Jeden z najpotężniejszych wzorów dostępnych w Scala jest Enrich-my-biblioteka * wzór, który wykorzystuje niejawne konwersje pojawiają dodać metod do istniejących klas bez konieczności rozdzielczość metody dynamiczne. Na przykład, gdybyśmy chcieli, aby wszystkie łańcuchy miały metodę spaceszliczającą, ile mają białych znaków, moglibyśmy: class SpaceCounter(s: String) { def spaces = s.count(_.isWhitespace) } …

1
HowTo: Custom Field in Lift-Record-Squeryl
Próbuję zrobić EnumListFieldw Lift / Record / Squeryl, podobnie jak MappedEnumListw LiftMapper. Typ przechowywania powinien być Long / BIGINT. Rozumiem, że jeśli zdefiniuję: def classOfPersistentField = classOf[Long] Wtedy Squeryl będzie wiedział, że powinien utworzyć kolumnę BIGINT. I wiem, że używa setFromAny()do ustawiania wartości, przekazując Long. Jedyny element, którego nie dostaję, …
92 scala  lift  record  squeryl 

30
Edytor nie zawiera typu głównego
Po prostu przeglądałem przykładowy kod Scala w witrynie Scala, ale napotkałem irytujący błąd podczas próby uruchomienia. Oto kod: http://www.scala-lang.org/node/45 . Po uruchomieniu go w Eclipse otrzymałem komunikat „Edytor nie zawiera typu głównego”, który uniemożliwia jego uruchomienie. Czy jest coś, co muszę zrobić ... tj. Rozbić ten plik na wiele plików, …
92 eclipse  scala 

4
Obiekty pakietu
Czym są obiekty pakietu, nie tyle koncepcja, ile ich użycie? Próbowałem uzyskać działający przykład i jedyna forma, jaką otrzymałem, była następująca: package object investigations { val PackageObjectVal = "A package object val" } package investigations { object PackageObjectTest { def main(args: Array[String]) { println("Referencing a package object val: " + …
92 scala  scala-2.8 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.