首页 > 解决方案 > Scala宏:限制变量名

问题描述

由于可能意外切换参数,我有一个def getCountryAtPosition(lat: Double, lon: Double) = ???明显容易出错的方法。不过,我不想将 API 更改为更有类型的东西。

相反,如果变量名称可疑,我想让它不可能传递给方法:

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

我想拒绝此代码,因为传递给的变量lat具有lon后缀,反之亦然。是否可以通过 scala 宏来实现它?

标签: scalascala-macros

解决方案


推荐阅读