Макрос Scala: ограничить имена переменных - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть метод def getCountryAtPosition(lat: Double, lon: Double) = ???, который явно подвержен ошибкам из-за возможности случайного переключения аргументов.Я не хочу менять API на что-то более типизированное.

Вместо этого я хочу сделать невозможным передачу переменной в метод, если у него есть подозрительное имя:

val latitude = 10.00D
val longitude = 20.00D
getCountryAtPosition(longitude, latitude)

Я хотел бы отклонить этот код, потому что переменная, переданная в lat, имеет суффикс lon и наоборот.Можно ли этого достичь, скажем, с помощью макроса scala?

...