Вопросы по теме 'scala-2.10'

Список в Json в Playframework Scala
Я новичок в scala и в playframework, но пока все отлично. Мне трудно понять, как превратить список данных в json (или любую сложную структуру). Это не реальный пример, но вот что я пытаюсь сделать. Получить некоторые данные из базы данных....
1853 просмотров

AssertionError при использовании отражения Scala 2.10-M3
Я пытаюсь вызвать метод typeOfInstance() в следующем (самом простом) коде: import scala.reflect.mirror._ class Bar object Main extends App { val bar = new Bar() typeOfInstance(bar) } но я получаю AssertionError при его выполнении:...
154 просмотров
schedule 23.02.2023

Насколько безопасно вкладывать вызовы макросов?
Я тестировал несколько вызовов вложенных макросов, и они работали, как ожидалось (... как я и ожидал!). Например, предположил фиктивный макрос add и следующее выражение: add(1, add(2, 3)) Во-первых, внутреннее добавление расширяется (2 +...
402 просмотров
schedule 06.11.2023

является ли параметр метода неявным? - использование отражения scala 2.10
Учитывая отраженный метод: scala> val sortMethod = typeOf[::[_]].member(newTermName("sorted")) sortMethod: reflect.runtime.universe.Symbol = method sorted scala> sortMethod.typeSignature res122: reflect.runtime.universe.Type = [B >:...
214 просмотров
schedule 24.03.2023

Скрыть шаблон закрытия с помощью макросов?
Дан пример замыкания, которое в данном случае возвращает количество слов в строке (с дополнительным произвольным оператором). val myfunc = (s: String) => Option(s).map(_.split(" ").size).filter(_ >= 2) Есть ли способ скрыть некоторые...
189 просмотров
schedule 16.09.2022

Как использовать неявные классы Scala 2.10
Я подумал, что это будет правильное использование новых неявных классов Scala 2.10: implicit case class IntOps(i: Int) extends AnyVal { def twice = i * 2 } 11.twice Очевидно нет: <console>:13: error: value twice is not a member...
6218 просмотров
schedule 26.05.2022

Создание класса из строки и создание его экземпляра в Scala 2.10
Как в Scala 2.10 сгенерировать класс из строки (возможно, с помощью API Toolbox) для последующего создания экземпляра с отражением Scala?
13285 просмотров
schedule 15.11.2022

StackOverflowError во время расширения макроса reify
У меня есть простой тестовый макрос, который использует reify. Это вызывает StackOverflowError во время раскрытия макроса. def test() = macro testimpl def testimpl(c:Context)():c.Expr[Any] = { import c.universe._ val o = reify { //...
146 просмотров
schedule 14.02.2023

Option.fold в scala 2.10
В следующем сеансе со scala 2.10.0-M7: scala> trait A defined trait A scala> class B extends A defined class B scala> class C extends A defined class C scala> Some(0).fold(new B){_=>new C} <console>:11: error: type mismatch;...
2065 просмотров
schedule 19.11.2023

Отражение Scala 2.10: ClassSymbol.isCaseClass работает в консоли Scala, но не в скрипте/приложении
Я играю с отражением в Scala 2.10.0-M7 и наткнулся на метод ClassSymbol.isCaseClass , который ведет себя так, как ожидалось, в консоли scala, но не при выполнении как java-приложение или как scala-скрипт. Я определил TestScript.scala следующим...
354 просмотров
schedule 15.01.2023

Разрешение аргументов типа во время выполнения с использованием отражения scala 2.10
Учитывая объявление типа, я могу разрешить аргумент типа. scala> reflect.runtime.universe.typeOf[List[Int]] match {case x:TypeRef => x.args} res10: List[reflect.runtime.universe.Type] = List(Int) Для значения времени выполнения тот же...
2332 просмотров
schedule 15.07.2023

Как я могу сослаться на включение этого в макрос Scala?
Следующий макрос, извлеченный из более крупного примера, должен создать дерево, не содержащее ничего, кроме ссылки на this : def echoThisImpl(c:Context): c.Expr[Any] = { import c.universe._ val selfTree = This(c.enclosingClass.symbol)...
1020 просмотров
schedule 26.09.2022

Любой способ получить класс Java из тега или символа типа Scala (2.10)?
Похоже, это приближает меня к этому, но (а) не совсем (см. ниже) и (б) использование строкового представления имени похоже на хак... scala> import scala.reflect.runtime.universe._import scala.reflect.runtime.universe._ scala> val t =...
7289 просмотров
schedule 22.01.2023

Как сохранить TypeTag, а затем использовать его позже, чтобы повторно прикрепить тип к Any (Scala 2.10)
Я пытаюсь создать собственные разнородные списки и карты. Хотя есть примеры использования Manifest, в Scala 2.10 они устарели, и я должен использовать TypeTags (или Classtags). В случае с картами кажется, что я могу сохранить привязку Any к Type,...
1261 просмотров
schedule 21.08.2022

Проверка приписывания типа varargs в макросах Scala
Предположим, у меня есть такой макрос: import language.experimental.macros import scala.reflect.macros.Context object FooExample { def foo[A](xs: A*): Int = macro foo_impl[A] def foo_impl[A](c: Context)(xs: c.Expr[A]*) = c.literal(xs.size) }...
662 просмотров

Документирование макросов Scala 2.10
Я начну с примера. Вот эквивалент List.fill для кортежей в качестве макроса в Scala 2.10: import scala.language.experimental.macros import scala.reflect.macros.Context object TupleExample { def fill[A](arity: Int)(a: A): Product = macro...
2341 просмотров

Установить уровень параллелизма для всех коллекций в Scala 2.10?
Я понимаю, как установить уровень параллелизма для одной параллельной коллекции через изменяемое поле tasksupport (см. https://stackoverflow.com/a/5425354/82970 ). Как установить уровень параллелизма для всех новых параллельных коллекций в...
2214 просмотров
schedule 18.05.2022

Псевдонимы типов портят теги типов?
Почему теги типов не работают с псевдонимами типов. Например. данный trait Foo object Bar { def apply[A](implicit tpe: reflect.runtime.universe.TypeTag[A]): Bar[A] = ??? } trait Bar[A] Я хотел бы использовать псевдоним в следующем методе,...
137 просмотров
schedule 29.07.2022

Получить имена аргументов в интерполяции строк в Scala 2.10
Начиная со scala 2.10 возможна следующая интерполяция. val name = "someName" val interpolated = s"Hello world, my name is $name" Теперь также возможно определить пользовательские интерполяции строк, как вы можете видеть в документации scala в...
786 просмотров

Лучший способ проверить и расширить параметры конструктора в Scala 2.10
Я хочу иметь класс, который имеет ряд полей, таких как String, Boolean и т. д., и когда класс построен, я хочу иметь имя поля, связанное с каждым полем, и проверять поле (используя регулярное выражение для строк). В идеале я хотел бы просто указать в...
1065 просмотров
schedule 18.03.2024