동일한 기본 형식을 공유하는 다른 형식 별칭을 할당 할 때 컴파일 시간 오류 (또는 적어도 경고)를 얻을 수있는 방법이 있습니까?스칼라 : 형식 별칭 불일치시 컴파일 오류 적용
val city: City = "Dublin"
foo(city)
를 지금까지 내가의를 말할 수 : 내가 할 경우 내가 경고/컴파일 시간 오류가 발생 할
type Address = String
type City = String
def foo(x:Address) = ...
: 즉
, 나는이 코드를 가지고 있다고 컴파일러는 동일한 기본 유형이기 때문에 허용합니다.
가치 사례 클래스를 만들 수 있습니까? 새로운 키워드 사용법을 조금 싫어합니다. –
값 케이스 클래스를 정의 할 수 있습니다. 그건 그렇고 :'new' 키워드를 생략 할 수있는 이유는 (생성 된) 컴패니언 객체의'apply' 메소드이기 때문에 반드시 키워드를 없애기 위해 케이스 클래스를 정의 할 필요는 없습니다. –
예, 저는 모든 타입 별칭에 대해 내 동료를 정의하는 것을 선호하지 않습니다. 길고 지루합니다^_ ^ –