HaskellStudy icon indicating copy to clipboard operation
HaskellStudy copied to clipboard

4장 ppt 13쪽 예시 코드 에러

Open gosunman opened this issue 3 years ago • 1 comments

bmiTell :: (Floating a) => a -> String
bmiTell bmi
    | bmi <= 18.5 = "You are underweight"
    | bmi <= 25.0 = "You are normal"
    | bmi <= 30.0 = "You are fat"
    | otherwise = "you are very fat"
  • 위 코드에서 Floating으로 하면 아래의 에러가 발생합니다.
  • typeclass 없이 type만 지정하여 해결했지만.. 문제가 있어 제보합니다!
Screen Shot 2022-08-27 at 14 39 47

gosunman avatar Aug 27 '22 05:08 gosunman

Ord a 에 대한 타입 클래스 제약이 추가되어야 하는데 빼먹은 것 같습니다. 타입 서명을 bmiTell :: (Floating a, Ord a) => a -> String 로 바꿀 경우 잘 동작할 거에요.

제보 감사드립니다. 수정 후에 issue close 하도록 하겠습니다.

jwvg0425 avatar Aug 29 '22 00:08 jwvg0425