place라는 새 데이터 선언을 만들려고합니다.Haskell의 case 문에서 기본값 사용
그것은 다음과 같습니다
data place = United States | France | England | Germany | Mexico | Canada
내 희망은 다음과 같이 자본에 열릴 캡라는 함수를 사용하는 것입니다
cap :: place -> String
cap a = case a of
Spain -> "Madrid"
France -> "Paris"
England -> "London"
Germany -> "Berlin"
Mexico -> "Mexico City"
Canada -> "Ottawa"
_ -> undefined
그러나 지난 경우, 어디에서 데이터 선언에 존재하지 않을 수도있는 다른 모든 항목을 잡으려고하면 작동하지 않습니다. 예를 들어 GHCI에 capital Wales
을 입력하면 정의되지 않은 응답이 표시되지 않습니다. 대신 범위 오류가 아닙니다. 누군가가 내 혼란을 도우면서 다른 케이스를 잡으려고 합법적 인 방법을 제공 할 수 있습니까?
일시적으로 코드에 다른 국가 추가'data Place = Temp | 미국 | ... '그러면'cap Temp'를 테스트 할 수 있습니다. – AndrewC
(현재 귀하의 데이터 선언이 깨졌습니다.'data place = UnitedStates | France | England | Germany | Mexico | Canada') – AndrewC