有没有办法可以为密封特性设置别名,以便提供类型安全?我知道我可以编写一个案例类或者使用类型类,但是这些解决方案对我来说太过分了。
一个简单的例子说明了它:
type Lon = Double
type Lat = Double
def lonLatPair(lon:Lon, lat:Lat):(Lon, Lat) = (lon, lat)
val someLon:Lon = 1.2
val someLat:Lat = 3.4
lonLatPair(someLon, someLat) // Success!
lonLatPair(someLat, someLon) // Dismal failure in the form of a type error
答案 0 :(得分:2)