scala- все статьи тега ➜ страница 5
"новые" ключевое слово в Scala
У меня очень простой вопрос - когда мы должны применять новое ключевое слово при создании объектов в Scala? Это когда мы пытаемся создать экземпляр только объектов Java? ...
Использование Null / Nothing / Unit в Scala
Я только что прочитал: http://oldfashionedsoftware.com/2008/08/20/a-post-about-nothing/ насколько я понимаю, Null это признак и его единственный экземпляр null. когда метод принимает нулевой аргумент, то мы можем только передать его Null ссылка или null напрямую, но не любая другая ссылка, даже если она равна null (nullString: String = null например). мне просто интересно, в каких случаях использование этого Null черта может быть полезна. Есть также черта ничего, для которой я действительно н ...
В Scala как удалить дубликаты из списка?
предположим, что у меня есть val dirty = List("a", "b", "a", "c") есть ли операция списка, которая возвращает "a", "b", "c" ...
Скала случае наследования классов
У меня есть приложение, основанное на Squeryl. Я определяю свои модели как классы case, в основном потому, что мне удобно иметь методы копирования. У меня есть две модели, которые неразрывно связаны. Поля одинаковы, многие операции являются общими, и они должны храниться в одной таблице БД. но существует некоторое поведение, которое имеет смысл только в одном из двух случаев, или что имеет смысл в обоих случаях, но отличается. до сих пор я использовал только один класс case с флагом, который о ...
Почему "split" на пустой строке возвращает непустой массив?
разделить на пустую строку возвращает массив размера 1 : scala> "".split(',') res1: Array[String] = Array("") считайте, что это возвращает пустой массив: scala> ",,,,".split(',') res2: Array[String] = Array() Поясните, пожалуйста :) ...
Явное преобразование типов в Scala
допустим у меня есть следующий код: abstract class Animal case class Dog(name:String) extends Animal var foo:Animal = Dog("rover") var bar:Dog = foo //ERROR! Как исправить последнюю строку этого кода? В принципе, я просто хочу сделать то, что на языке C-like будет сделано: var bar:Dog = (Dog) foo ...
Как отсортировать массив в Scala?
Я вижу, что есть объект сортировки, Sorting с quicksort метод quickSort, на нем. каким будет пример кода его использования, сортируя массив объектов произвольного типа? Похоже, мне нужно пройти в реализации Orderable черта, но я не уверен в синтаксисе. кроме того, я бы предпочел, чтобы ответы делали это "Scala way". Я знаю, что могу просто использовать библиотеку Java. ...
Как сделать проверку instanceof с помощью Scala(Test)
Я пытаюсь включить ScalaTest в свой проект Java; заменяя все тесты JUnit на ScalaTests. В какой-то момент я хочу проверить, вводит ли инжектор Guice правильный тип. В Java у меня есть такой тест: public class InjectorBehaviour { @Test public void shouldInjectCorrectTypes() { Injector injector = Guice.createInjector(new ModuleImpl()); House house = injector.getInstance(House.class); assertTrue(house.door() instanceof WoodenDoor); assertTrue(house.window() ...
Как шаблон соответствует нескольким значениям в Scala?
допустим, я хочу обрабатывать несколько возвращаемых значений из удаленной службы, используя один и тот же код. Я не знаю, как выразить это в Scala: code match { case "1" => // Whatever case "2" => // Same whatever case "3" => // Ah, something different } Я знаю, что могу использовать метод извлечения и вызвать это, но в вызове все еще есть повторение. Если бы я использовал Ruby, я бы написал это так: case code when "1", "2" # Whatever when "3" # Ah, something different en ...
Как преобразовать Int в строку заданной длины с ведущими нулями для выравнивания?
как я могу преобразовать Int до 7 символов длиной String, Так что 123 превращается в "0000123"? ...
Учебник по дизайну коллекций Scala 2.8
следуя из моего затаенного замешательства, какие хорошие ресурсы объясняют, как новый Скала 2.8 библиотека коллекций была структурирована. Мне интересно найти некоторую информацию о том, как следующее сочетается: сами классы/черты коллекции (например List,Iterable) почему как классы (например,TraversableLike) для чего нужны сопутствующие методы (например,List.companion) откуда я знаю что implicit объекты находятся в области видимости в заданной точке ...
Как проверить, полностью ли строка соответствует регулярному выражению в Scala?
предположим, что у меня есть шаблон регулярного выражения, которому я хочу соответствовать многим строкам. val Digit = """d""".r Я просто хочу проверить, полностью ли данная строка соответствует регулярному выражению. Какой хороший и идиоматические способ сделать это в Scala? Я знаю, что я могу сопоставить шаблон на регулярных выражениях, но это синтаксически не очень приятно в этом случае, потому что у меня нет групп для извлечения: scala> "5" match { case Digit() => true case _ =&g ...
Как мне получить версию Scala из самой Scala?
речь идет не о параметрах компилятора командной строки. Как программно получить версию Scala внутри кода? кроме того, где плагин Eclipse Scala v2 хранит путь к scalac? ...
Настройка scala с помощью IntelliJ
У меня Intellij ultimate 11.1, с установленным плагином scala. Я установил scala 2.9.2 с помощью homebrew, который поставил scala в: /usr/local/Cellar/scala/2.9.2> >which scala /usr/local/bin/scala >scala -version Scala code runner version 2.9.2 -- Copyright 2002-2011, LAMP/EPFL создаем новый проект модуля Java, я получаю это: может кто-нибудь помочь мне исправить эти проблемы, почему плагин scala не сделал эту работу из коробки? :) ...
Выполнение HTTP-запроса в Scala
Я пытаюсь выдать простой запрос POST на веб-сервис, который возвращает некоторый XML в Scala. кажется,отправка стандартная библиотека используется для этой задачи, но я не могу найти документацию на нее. Основной сайт, на который я ссылаюсь выше, подробно объясняет, что такое обещание и как выполнять асинхронное программирование, но на самом деле не документирует API. Там есть периодическая таблица - который выглядит немного страшно - но это только кажется полезным люди, которые уже знают, что ...
withFilter вместо фильтра
всегда ли более эффективно использовать withFilter вместо фильтра, когда впоследствии применяются такие функции, как map, flatmap и т. д.? Почему поддерживаются только map, flatmap и foreach? (Ожидаемые функции, такие как forall / существует также) ...
Когда и почему следует использовать аппликативные функторы в Scala
Я знаю, что Monad может быть выражено в Scala следующим образом: trait Monad[F[_]] { def flatMap[A, B](f: A => F[B]): F[A] => F[B] } Я вижу, почему это полезно. Например, даны две функции: getUserById(userId: Int): Option[User] = ... getPhone(user: User): Option[Phone] = ... Я могу легко написать функцию getPhoneByUserId(userId: Int) С Option - это монада: def getPhoneByUserId(userId: Int): Option[Phone] = getUserById(userId).flatMap(user => getPhone(user)) ... теперь я в ...
Как использовать сторонние библиотеки с Scala REPL?
Я скачал Algebird и я хочу попробовать несколько вещей в интерпретатор Scala использование этой библиотеки. Как мне этого добиться? ...
Отображение как ключей, так и значений карты Scala
Скала MapLike черта имеет метод mapValues [C] (f: (B) ⇒ C): Map[A, C] но я иногда хочу другого типа: mapKeysAndValues [C] (f: (A, B) ⇒ C): Map[A, C] есть ли простой способ сделать это, что мне не хватает? Конечно, это можно сделать и со складкой. ...
Scala двойное определение (2 метода имеют один и тот же тип стирания)
Я написал это в scala, и он не будет компилироваться: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } компилятор сообщит: [error] double definition: [error] method foo:(List[String])Unit and [error] method foo:(List[Int])Unit at line 120 [error] have same type after erasure: (List)Unit Я знаю, что JVM не имеет собственной поддержки для дженериков, поэтому я понимаю эту ошибку. я мог бы написать обертки для List[String] и List[Int] но я ленивый :) Я сомне ...