Запитання з тегом «scala»

Scala - мова програмування загального призначення, орієнтована переважно на віртуальну машину Java. Призначений для вираження загальних моделей програмування стислим, елегантним та безпечним для типу способом, він з’єднує як імперативний, так і функціональний стилі програмування. Основними його особливостями є: вдосконалена система статичного типу з висновком типу; типи функцій; відповідність шаблону; неявні параметри та перетворення; перевантаження оператора; повна сумісність з Java; одночасність

5
val-мутаційний проти var-незмінний у Scala
Чи є в Scala якісь вказівки щодо того, коли використовувати val із колекцією, що змінюється, порівняно з var із незмінною колекцією? Або вам справді слід прагнути валь з незмінною колекцією? Той факт, що є обидва типи колекції, дає мені багато вибору, і часто я не знаю, як зробити цей вибір.

11
Як вказати максимальний розмір купи JVM “-Xmx” для запуску програми з дією “run” у SBT?
Моя програма виконує обробку великих масивів даних і потребує більше пам'яті, ніж JVM надає за замовчуванням. Я знаю, що в Java це вказано опцією "-Xmx". Як встановити SBT для використання конкретного значення "-Xmx" для запуску програми з дією "run"?
97 scala  sbt 


3
Конвенція про іменування для констант Scala?
Яка умова іменування для констант Scala? Короткий пошук пропозицій StackOverflow у верхньому регістрі CamelCase (перший рядок нижче), але я хотів ще раз перевірити. val ThisIsAConstant = 1.23 val THIS_IS_ANOTHER_CONSTANT = 1.55 val thisIsAThirdConstant = 1.94 Який рекомендований стиль Scala?


9
Створення великих незмінних об'єктів без використання конструкторів, що мають довгі списки параметрів
У мене є кілька великих (більше 3 полів) об’єктів, які можуть і повинні бути незмінними. Кожного разу, коли я стикаюся з цим випадком, я схильний створювати огиду конструктора з довгими списками параметрів. Це не дуже добре, його важко використовувати, і читабельність страждає. Ще гірше, якщо поля мають якийсь тип колекції, …
96 java  oop  scala  immutability 

6
Що означає «абстрактне над»?
Часто в літературі Scala я стикаюся з фразою "абстракція закінчена", але я не розумію намірів. Наприклад , пише Мартін Одерський Ви можете передавати методи (або "функції") як параметри, або можете абстрагуватися над ними. Ви можете вказати типи як параметри, або ви можете абстрагуватися над ними. В якості іншого прикладу, в …

8
Використання нуля / нічого / одиниці в Scala
Я щойно прочитав: http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/ Наскільки я розумію, Nullце риса і єдина її приклад null. Коли метод приймає аргумент Null, тоді ми можемо передавати йому лише Nullпосилання або nullбезпосередньо, але не будь-яке інше посилання, навіть якщо воно є нулем ( nullString: String = nullнаприклад). Мені просто цікаво, в яких випадках використання …
95 scala 

1
Як працює тип Dynamic і як ним користуватися?
Я чув, що за допомогою Dynamicпевної програми можна динамічно набирати текст у Scala. Але я не уявляю, як це може виглядати або як це працює. Я з’ясував, що можна успадкувати за ознакою Dynamic class DynImpl extends Dynamic API каже , що можна використовувати його як це: foo.method ("blah") ~~> foo.applyDynamic …
95 scala 

18
Зразки коду Scala та Java, де код Scala виглядає простішим / має менше рядків?
Мені потрібні деякі зразки коду (і мені це дуже цікаво) коду Scala та Java, які показують, що код Scala є більш простим та стислим, ніж код, написаний на Java (звичайно, обидва зразки повинні вирішувати одну і ту ж проблему). Якщо є лише зразок Scala з коментарем на кшталт "це абстрактна …


5
Термінальний оператор, подібний до?:
Я намагаюся уникати таких конструкцій: val result = this.getClass.getSimpleName if (result.endsWith("$")) result.init else result Гаразд, у цьому прикладі thenі elseгілка проста, але ви можете зображувати складні. Я побудував таке: 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
Який правильний спосіб отримати підрив у Scala?
Я намагаюся отримати підрядок в масштабі, і я трохи розгублений у тому, що це правильний спосіб. Мені б найбільше хотілося б щось подібне, як це можна зробити в python: x = [3, 2, 1] x[0:2] але я впевнений, що ви не можете цього зробити. Найбільш очевидний спосіб зробити це - …



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.