Czy ktoś zna stan w pełni funkcjonalnego interfejsu API do refleksji dla Scala?Refleksja API dla Scala
Wiem, że można używać interfejsu API do refleksji języka Java, aby wykonywać proste czynności, ale nie działa to dobrze w przypadku funkcji językowych programu Scala. Znalazłem interesting article opisujący eksperymentalny interfejs API Scala Mirroring, ale o ile wiem, jest to wciąż eksperymentalne. Znalazłem również wzmiankę o ScalaSigParser, ale wydaje się, że jest to dość niski poziom.
To jest bardziej ciekawostka niż cokolwiek innego, ponieważ obecnie gram z Scalą. Pomyślałem, że odpowiedź na to pytanie może być również przydatna dla osób zainteresowanych Scalą.
Czy możesz dokładniej określić, co chcesz zrobić? Możesz używać rutyn w scala.tools.nsc, aby pomóc w myleniu nazw, a niektóre rzeczy po prostu nie odzwierciedlają dobrze - naprawdę potrzebujesz kompilacji, aby ci pomóc, ponieważ nie są one tylko kwestią wywoływania istniejących metod (np. jeśli potrzebujesz nowego zamknięcia). –
Po pierwsze, pomyślałem, że byłoby miło utworzyć wystąpienia klas o nazwanych parametrach, tak, że nie musisz się martwić kolejnością parametrów - może to być niezmienny zamiennik stylu JavaBeans. Pomyślałem także, że byłoby miło móc spojrzeć na strukturę klasy, która odnosi się do funkcji Scala. to znaczy. weź mnie wszystkich lekarzy - znajdź głównego - zadzwoń. Lub odpowiedzieć na pytania takie jak to pole val lub var. A poza tym dobrze byłoby użyć API do refleksji wykonanego w idiomatycznym stylu Scala, zamiast polegać na API Javy. Po prostu pomysły .. –
Nie myślałem o niektórych z bardziej dynamicznych funkcji metaprogramowania, takich jak dodawanie metod w środowisku wykonawczym lub eval oświadczeniach w stylu - po prostu bardziej wzdłuż tego, co API Java Reflections pozwala ci zrobić, ale przystosowane do języka Scala. –