2017-01-13 3 views
0

Простой вопрос, но у меня возникли проблемы с получением ответа через Google. Я уже видел в прошлом, что кто-то написал макрос, чтобы позволить вам выбирать различные вещи, которые вы получаете, добавив макрокоманду @data к class вместо ключевого слова case. Что это за проект?Какой проект Scala предоставляет макрос @data?

+1

Я пошел бы к каналу галактики Скала и задал этот вопрос там. Это не по теме, так как вы просите кого-нибудь найти ресурс для вас вне компании. – wheaties

ответ

0

Я не знаю, что @data class. И я не могу представить, чтобы кто-то это делал, нет никакого преимущества перед классом дела. вы должны набрать больше, и я бы больше доверять собственной реализации в течение некоторого Lib

Я думаю, что вы имеете в виду проекта Ломбок (который предназначен для Java, но, вероятно, могут быть использованы на Scala): https://projectlombok.org/features/Data.html

Кроме того, Котлин имеет data class вместо case class: https://kotlinlang.org/docs/reference/data-classes.html

+0

Идея состоит в том, что она позволяет вам выбрать, какую из функций 'case class' вы хотите, а не подход« взять его или оставить »ключевого слова' case'. Это может быть полезно, если вы не хотите, например, использовать 'default' по умолчанию, но вы хотите, чтобы остальная часть поведения. – acjay

1

Я думаю, что это было частью семинара по Scala макрокоманд.

Упражнения материал для Scala World 2016 говорить "Возвращение Scala Compiler Plugin"

https://github.com/fommil/scala-compiler-plugin

Этот проект содержит @data макрос для имитации тематических классов, написанного Сэмом Холлидей с некоторыми неурегулированным тянуть запрос Юджин Бурмако.

Смежные вопросы