перегрузка точки «.» с плюсом » » в groovy dsl

#groovy #dsl

#groovy #dsl

Вопрос:

как перегрузить . оператор с помощью operator в groovy. например, я должен построить DSL примерно так:

model make version вместо model.make.version

как построить dsl, используя любой пример или подсказку

Комментарии:

1. Что, если они захотят что-то добавить в DSL?

2. @tim_yates нет операции добавления, как в этом вопросе, но ваша точка зрения верна, в этом сценарии каждое слово принимается как строка, например: — модель марка версия «2» … и многое другое

Ответ №1:

Вы не можете перегрузить . , вы можете перегрузить . model make version "2" на самом деле оценивается model.plus(make.plus(version.plus("2"))) как . Предоставление plus методов для этих объектов поможет, но вся идея просто кажется нелепой.