Вопросы по теме 'scala-reflect'
Создание источника scala для экземпляра класса с использованием отражения
Предполагая, что у вас есть экземпляр класса. Каков наилучший подход к созданию действительного исходного кода Scala, который можно было бы записать в файл и скомпилировать для этого экземпляра во время выполнения? (Используя scala Reflection-api /...
45 просмотров
schedule
09.07.2022
Получить имя поля и значение из объекта класса case в scala во время выполнения
Пример класса case: пытался создать универсальный построитель запросов.
case class BaseQuery(operand: String, value: String)
case class ContactQuery(phone: BaseQuery, address: BaseQuery)
case class UserQuery(id: BaseQuery, name: BaseQuery,...
1758 просмотров
schedule
23.11.2022
Использование отражения Scala для проверки метода объекта или поиска типа ключа на карте
Я портирую класс с Ruby на Scala 2.11, который реализует слияние переменных в сообщениях. Я хотел бы передать массив объектов методу слияния и заставить его искать в каждом объекте ключи, на которые есть ссылки в тексте сообщения.
Ядром этого...
1244 просмотров
schedule
19.08.2022
Получение подклассов запечатанного трейта
Возможно ли (с помощью макросов, какой-либо формы автоматической магии Shapeless или иным образом) получить список подклассов запечатанного трейта:
Во время компиляции?
Во время выполнения?
6269 просмотров
schedule
01.07.2023
В Scala, в чем разница между Universe.TypeTag, TypeRef и Type?
Есть 3 разных класса, ограниченных вселенной: TypeTag , TypeRef и Type . Зачем нужны все 3? Если у меня есть только Type , как мне преобразовать его в TypeTag или TypeRef ?
Например. Я получил общий супертип через функцию API отражения...
335 просмотров
schedule
27.05.2024
Создание тега типа вручную
У меня есть некоторый код Scala с тегами типов, который мне нужно сделать доступным для пользователей Java. Моя проблема сводится к решению следующего:
Учитывая два тега типа Scala, как я могу вручную создать тег типа для Tuple2[ A , B ]?
Если...
49 просмотров
schedule
01.05.2022
Ошибка компиляции не найдено значение после раскрытия макроса
Я новичок в scala-макросах. Я пишу автоматизированную программу записи/чтения JSON для клиента InfluxDB.
Читатель выглядит так:
trait InfluxReader[T] {
def read(js: JsArray): T
}
InfluxFormatter:
object InfluxFormatter {
/**...
254 просмотров
schedule
02.11.2022
Как привязать типы к моему интерпретатору Scala?
Я пытаюсь связать значения в интерпретаторе с типами из внешней библиотеки.
Вот как я сейчас объявляю свой интерпретатор:
val interpreter = new IMain({
val settings = new Settings
settings.usejavacp.value = true...
131 просмотров
schedule
26.07.2023
case соответствует `reflect.runtime.universe.Type`
В Java мы можем сделать switch(value) {case(x): // do something;}
В Scala мы можем сделать что-то подобное с выражениями с учетом регистра:
val a = 1
a match {
case 1 => 1
case 2 => 2
} // 1
Однако он не работает со значением...
100 просмотров
schedule
05.05.2023
Получить полное имя метода в макросах scala
Я использую макросы Scala и сопоставляю Apply , и я хотел бы получить полное имя вызываемой функции.
Примеры:
println("") -> scala.Predef.println
scala.Predef.println("") -> scala.Predef.println
class Abc {
def met(): Unit = ???
}
case...
480 просмотров
schedule
29.09.2023
Получить тип примитивного поля из объекта, используя отражение Scala
Итак, я пытаюсь получить типы каждого поля в классе объектов Scala:
package myapp.model
object MyObject {
val theInt: Option[Int]
}
Используя ReflectionHelper, любезно предоставленный Брайаном в сообщение . Я использую getFieldType , но...
432 просмотров
schedule
25.12.2022
Получить значения параметров конструктора, используя отражение scala
Работа в кодовой базе со scala, которая хочет, чтобы вы для определенных классов определили своего рода «создать новую версию» - например, если у вас есть класс x (a: int, b: String, c: double).. , у него будет такая функция:
class x( a: Integer,...
459 просмотров
schedule
03.01.2023
Как динамически печатать Any в scala?
Я хочу преобразовать объект «Любой» в объект типа времени выполнения. Основываясь на имени класса (строке) во время выполнения, как мне преобразовать ЛЮБОЙ объект в фактический объект?
Я попытался использовать преобразование имени класса в объект...
601 просмотров
schedule
09.04.2023
Почему отражение среды выполнения Scala больше не работает на лямбда-выражении?
Следующий простой код:
import org.scalatest.FunSpec
class RuntimeMirrorSpike extends FunSpec {
import org.apache.spark.sql.catalyst.ScalaReflection.universe._
it("can reflect lambda") {
val ll = { v: String =>
v.toInt
}...
262 просмотров
schedule
29.11.2022
Как в Scala создать TypeTag из сериализуемого типа?
В отражении Scala TypeTag обычно может быть создан из Type с помощью TypeCreator:
object TypeUtils {
import ScalaReflection.universe._
def createTypeTag[T](
tpe: Type,
mirror: reflect.api.Mirror[reflect.runtime.universe.type]...
176 просмотров
schedule
13.10.2022
Scala Reflection для создания сопутствующего объекта и вызова метода apply
Вот в чем проблема.
trait TestTrait[T, R] extends (T => R)
// Class implementing TestTrait. This is one class, there are a number of class implementing TestTrait
class TestClass(val input: Map[String, String])extends...
168 просмотров
schedule
20.05.2022
Как получить имена полей и типы полей из универсального типа в Scala?
В Scala, учитывая общий тип T, как получить список имен полей и типов полей? Например, если у меня есть класс case:
case class Person(name: String, age: Int, gender: Boolean)
И общая функция:
def getFieldNamesAndTypes[T](): Seq[(String,...
413 просмотров
schedule
21.05.2022
Проблема при использовании концепции класса отражения в scala
У меня есть один такой главный класс:
class Test {
def exe(first:String, second:String, task:String):String = {
task match {
case "A" => {
val obj = new A(first)
obj.defineSecond(second)
}...
51 просмотров
schedule
05.11.2022
Вызвать частный метод в произвольном объекте scala
Допустим, у меня есть объект Scala:
object SomeObject {
private def someMethod(msg: String): Unit = println(msg)
}
Я могу вызвать someMethod с помощью следующего кода:
import scala.reflect.runtime.{universe => ru}
import...
133 просмотров
schedule
11.07.2022
Как отразить конкретные возвращаемые типы для методов классов, определенных во время выполнения, с помощью Scala ToolBox?
Отражая метод foo() класса Cls , мы можем легко получить конкретный тип возвращаемого значения, используя следующее.
class Cls {
def foo() =
List("A", "B")
}
val classType = ru.typeOf[Cls]
val classMirror =...
62 просмотров
schedule
18.12.2022