1
동적으로 스칼라 클래스를 정의했지만 "올바르게"사용하려면 ScalaSig가 있어야합니다.나만의 ScalaSig를 생성하려면 어떻게해야합니까?
그렇다면 일반 컴파일 외부에서 어떻게 ScalaSig를 생성 할 수 있습니까? 아마도 나무에서 왔을 까?
val tb = runtimeMirror(getClass.getClassLoader).mkToolBox()
val classDef = """class MyRecord(x: String)"""
val tree = showRaw(tb.parse(classDef))
을하지만 어디 피클 러는 올 않습니다 어쩌면 좋아? 어떤 조언 -Julian
클래스를 정의하기 위해 도구 상자 사용을 고려한 적이 있습니까? 그런 다음 필요한 서명을 자동으로 생성합니다. –
Eugene, 그렇습니다.하지만 클래스 정의는 런타임에 발생합니다. 툴박스가 컴파일시에만 작동한다고 생각하면 맞습니까? 타입 매크로에 대해 얼마나 흥분했는지 말할 수 있습니까? –
도구 상자는 런타임에 작동합니다. 이 풀 요청은 공개적으로 볼 수있는 클래스를 정의 할 수있게 해줍니다 : https://github.com/scala/scala/pull/2662,하지만 2.11입니다. 한편, 2.10에서는 https://gist.github.com/xeno-by/5845539를 사용할 수 있습니다. 무언가가 작동하지 않으면 알려주세요. –