scala-macros

    1

    1답변

    스칼라 2.10에는 훌륭한 리플렉션 API가 함께 제공됩니다. 그러나 두 가지 진입 점이 있습니다 : 런타임 유니버스와 매크로 컨텍스트 유니버스. 런타임 리플렉션을 사용하는 경우 scala.reflect.runtime.universe을 가져와야합니다. 매크로 구현 내에서 리플렉션을 사용하는 경우 컨텍스트에서 유니버스를 가져와야합니다. 두 환경에서 작동하는

    2

    1답변

    스칼라 매크로를 사용하여 가능한 모든 시퀀스 생성을 트리에서 찾고 싶습니다. val l = List(1, 2) val v = Vector(1, 2) val ab = ArrayBuffer(1, 2) val s = Seq(1, 2) 하지만 다음 경기가 작동하지 않습니다 val v = Vector(1, 2) val one = v(0) 또는 모든 '

    6

    1답변

    가정하자이 같은 파일을, 세 개의 하위 프로젝트와 스칼라 프로젝트가 : foo/src/main/scala/Foo.scala foo/src/main/resources/foo.txt bar/src/main/scala/Bar.scala bar/src/main/resources/bar.txt baz/src/main/scala/Baz.scala baz/

    2

    1답변

    setter 및 getter 메서드를 매크로로 구현하는 데 문제가 있습니다. 예를 들면 다음과 같습니다. Welcome to Scala version 2.10.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_25). Type in expressions to have them evaluated. Type :help

    6

    1답변

    나는 현재 매크로 조금 주위에 놀고있어 아마도이 여기 나쁜 생각 어쨌든, 그러나의 PARAM을 할당하는 것은 내 문제입니다 : I 다음 매크로가 있습니다 def using[A <: { def close(): Unit }, B](resource: A)(f: A => B) = macro usingImpl[A, B] def usingImpl[A <: { de

    5

    1답변

    나는 나의 매크로에서 어떤 종류의 WeakTypeTag 있고, 다음과 같이 내가 코드를 생성하려면 :이 def macroCreate[A] = macro _macroCreate[A] def _macroCreate[A](c: Context)(implicit wtt: c.WeakTypeTag[A]) = { c.Expr(Apply(Select(???,

    3

    1답변

    나는 어떤 클래스에서 MethodSymbol를 인수하고, 한 지금은 일부 나무에 그 메소드를 호출하는 코드를 생성합니다 : tpe.declarations.collect { case acc: MethodSymbol => Apply(Select(tree.duplicate, ???), Nil) } 이 깨끗한 방법으로 메소드의 이름을 얻을

    2

    2답변

    기본적으로 여기에 설명 된 정확한 방법 (http://www.scala-sbt.org/0.12.4/docs/Detailed-Topics/Macro-Projects.html)을 따르는 매크로를 사용하는 스칼라 프로젝트는 전체 배포 섹션을 포함합니다 (본질적으로 루트 프로젝트와 매크로라는 하위 프로젝트가 있습니다. 문제는 현재 publish-local을 사용하

    2

    1답변

    간단한 유형 검사로지도 항목을 기반으로 사례 클래스의 필드 값을 무시할 수있는 스칼라 매크로를 작성하고 싶습니다. 원본 필드 유형과 대체 값 유형이 호환 가능한 경우 새 값을 설정하고 그렇지 않으면 원래 값을 유지합니다. import language.experimental.macros import scala.reflect.macros.Context

    0

    1답변

    기존의 Java POJO 구조에서 Map과 같은 구조로 변환하기위한 Scala DSL을 만들고 싶습니다. 그러나 들어오는 오브젝트 구조는 출력 맵에 값 발생합니다 널 참조를 많이 포함 할 가능성이 높다. 성능이이 컨텍스트에서 매우 중요하므로 반사 및 NPE 던지기/catch를 피할 필요가 있습니다. 는 나는 내 요구 사항을 충족하지 않는 이미 this to