Вопросы по теме 'scala-2.10'
Список в Json в Playframework Scala
Я новичок в scala и в playframework, но пока все отлично. Мне трудно понять, как превратить список данных в json (или любую сложную структуру). Это не реальный пример, но вот что я пытаюсь сделать. Получить некоторые данные из базы данных....
1853 просмотров
schedule
24.04.2022
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 просмотров
schedule
19.08.2022
Документирование макросов 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 просмотров
schedule
05.01.2023
Установить уровень параллелизма для всех коллекций в 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 просмотров
schedule
11.02.2023
Лучший способ проверить и расширить параметры конструктора в Scala 2.10
Я хочу иметь класс, который имеет ряд полей, таких как String, Boolean и т. д., и когда класс построен, я хочу иметь имя поля, связанное с каждым полем, и проверять поле (используя регулярное выражение для строк). В идеале я хотел бы просто указать в...
1065 просмотров
schedule
18.03.2024