Вопросы с тегом «scala»

Scala - это язык программирования общего назначения, в основном предназначенный для виртуальной машины Java. Разработанный для краткого, изящного и безопасного для типов представления общих шаблонов программирования, он сочетает в себе как императивный, так и функциональный стили программирования. Его основными характеристиками являются: усовершенствованная система статического типа с выводом типа; типы функций; сопоставления с образцом; неявные параметры и преобразования; перегрузка оператора; полная совместимость с Java; совпадение

12
Что такое идиоматический способ Scala «удалить» один элемент из неизменяемого списка?
У меня есть список, который может содержать элементы, которые будут сравниваться как равные. Мне нужен аналогичный список, но с удалением одного элемента. Итак, из (A, B, C, B, D) я хотел бы иметь возможность «удалить» только один B, чтобы получить, например, (A, C, B, D). Порядок элементов в результате не …
86 list  scala 

7
Когда использовать знак равенства в объявлении метода Scala?
Со знаком равенства: object HelloWorld { def main(args: Array[String]) = { println("Hello!") } } Без знака равенства: object HelloWorld { def main(args: Array[String]) { println("Hello!") } } Обе вышеуказанные программы выполняются одинаково. В сообщении блога « Вещи, которые мне не нравятся в Scala» я прочитал, что, когда отсутствует знак равенства, …
85 scala 

7
Что такое продолжения Scala и зачем их использовать?
Я только что закончил программировать на Scala и изучал изменения между Scala 2.7 и 2.8. Самым важным кажется плагин продолжения, но я не понимаю, для чего он полезен и как работает. Я видел, что это хорошо для асинхронного ввода-вывода, но не смог понять, почему. Вот некоторые из наиболее популярных ресурсов …

3
Перейти в интерпретатор при произвольном расположении кода Scala
Я пришел из Python, где в любой момент своего кода я могу добавить import pdb; pdb.set_trace() и во время выполнения я попаду в интерактивный интерпретатор в этом месте. Есть ли эквивалент для scala или это невозможно во время выполнения?

1
Как сопоставить несколько значений по шаблону в Scala?
Допустим, я хочу обрабатывать несколько возвращаемых значений из удаленной службы, используя один и тот же код. Я не знаю, как выразить это в Scala: code match { case "1" => // Whatever case "2" => // Same whatever case "3" => // Ah, something different } Я знаю, что могу …



8
Какова мотивация присвоения Scala оценивать Unit, а не присвоенное значение?
Какова мотивация присвоения Scala оценивать Unit, а не присвоенное значение? Обычный шаблон в программировании ввода-вывода - это делать что-то вроде этого: while ((bytesRead = in.read(buffer)) != -1) { ... Но в Scala это невозможно, потому что ... bytesRead = in.read(buffer) .. возвращает Unit, а не новое значение bytesRead. Похоже, что …

10
Как переопределить применение в случае класса companion
Итак, вот ситуация. Я хочу определить класс case следующим образом: case class A(val s: String) и я хочу определить объект, чтобы при создании экземпляров класса значение 's' всегда было в верхнем регистре, например: object A { def apply(s: String) = new A(s.toUpperCase) } Однако это не работает, поскольку Scala жалуется, …

3
Каковы различия и сходства между чертами Scala и интерфейсами Java 8?
Я новичок в Scala, начал изучать язык для развлечения и все еще пытаюсь осмыслить его. Насколько я понимаю, черты Scala похожи на интерфейсы Java, за исключением того, что некоторые методы могут иметь реализацию. Java 8 добавляет интерфейсы, которые могут иметь методы по умолчанию, где может быть предоставлена ​​реализация. В чем …
84 java  scala 

6
Scala: элегантное преобразование строки в логическое значение
На Java можно писать Boolean.valueOf(myString). Однако в Scala java.lang.Booleanскрыто, в scala.Booleanкотором отсутствует эта функция. Достаточно легко переключиться на использование исходной версии логического значения Java, но это кажется неправильным. Так что же представляет собой однострочное каноническое решение в Scala для извлечения trueиз строки?
84 scala 

18
В чем смысл класса Option [T]?
Я не могу понять смысл Option[T]класса в Scala. Я имею в виду, я не вижу никаких преимуществ Noneсверх null. Например, рассмотрим код: object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person instance or null } def …

3
Два способа каррирования в Scala; какой вариант использования для каждого?
Я веду обсуждение списков нескольких параметров в Руководстве по стилю Scala, которое я поддерживаю. Я понял, что есть два способа каррирования , и мне интересно, каковы варианты использования: def add(a:Int)(b:Int) = {a + b} // Works add(5)(6) // Doesn't compile val f = add(5) // Works val f = add(5)_ …

1
Как заменить программу, написанную в виде последовательного потока переходов состояний, на scalaz-stream?
Я пытаюсь понять, как реорганизовать программу, которую я раньше написал бы как последовательность переходов состояний: У меня есть бизнес-логика: type In = Long type Count = Int type Out = Count type S = Map[Int, Count] val inputToIn: String => Option[In] = s => try Some(s.toLong) catch { case _ …

12
Эффективная итерация с индексом в Scala
Поскольку в Scala нет старых forциклов в стиле Java с индексом, // does not work val xs = Array("first", "second", "third") for (i=0; i<xs.length; i++) { println("String #" + i + " is " + xs(i)) } Как мы можем эффективно выполнять итерацию, не используя var's? Ты мог бы сделать …
83 scala  iteration 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.