Haskell에서 간단한 함수를 작성하는 방법
이를 위해 다음 공식을 사용합니다.
s(t) = 1/2 * g * t^2
거리는 미터로, 시간은 초로 표시되어야 합니다.
우리가 스스로에게 물어봐야 할 첫 번째 질문은 단위를 표현하려는 데이터 유형이 무엇인지입니다. Double 데이터 유형이 여기에 가장 적합합니다. 여기서는 일반적으로 부동 소수점 숫자로 작업하기 때문입니다. 따라서 서명은 다음과 같습니다.
distance :: Double -> Double
중력으로 인한 가속도는 고정된 값(9.80665)이므로 유일한 입력 매개변수는 시간 t입니다. 이것은 우리의 기능이 다음과 같다는 것을 의미합니다:
distance t = 1/ 2 * 9.80665 * t * t
물론 g를 전역 변수로 설정할 수도 있습니다. 이를 위해 간단히 다음과 같이 작성합니다.
g :: Double
g = 9.80665
이제 공식의 값을 변수 g로 바꾸면 됩니다.
물론 다음을 사용하여 함수를 정의하는 것도 가능합니다.
distanceWhere :: Double -> Double
distanceWhere t = 1 / 2 * g * t * t
where g = 9.80665
let 구문을 사용하면 모든 것이 다음과 같이 보입니다.
distanceLet :: Double -> Double
distanceLet t = let g = 9.80665
in 1 / 2 * g * t * t
물론 우리는 음수 값을 입력으로 받고 싶지 않기 때문에 이에 대한 오류 메시지 출력이 있을 수 있습니다. if-then-else 표현식을 함께 사용하면 전체가 다음과 같이 표시됩니다.
distanceIf :: Double -> Double
distanceIf t = if t < 0 then error "negative time"
else 1 / 2 * 9.80665 * t * t
또는 경비원과 함께:
distanceGuards :: Double -> Double
distanceGuards t | t < 0 = error "negative time"
| otherwise = 1 / 2 * 9.80665 * t * t
Reference
이 문제에 관하여(Haskell에서 간단한 함수를 작성하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asura030/how-to-write-simple-functions-in-haskell-8hf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)