728x90
주요 연산은 직관적으로 이해가 가능할 것이다. 하스켈의 경우 다음 몇 가지 사항만 유의하자.
+ 는 숫자의 경우에만 작동하고, == 는 비교가능한 대상간에 작동하기 때문에 위의 경우에는 오류를 발생시킨다.
- Prelude> 5 + "llama"
- <interactive>:5:3:
- In the expression: 5 + "llama"
- In an equation for ‘it’: it = 5 + "llama"
- Prelude>
- Prelude> 5 == True
- <interactive>:3:1:
- In the first argument of ‘(==)’, namely ‘5’
- In the expression: 5 == True
- In an equation for ‘it’: it = 5 == True
함수 어플리케이션이 가장 높은 우선 순위를 가진다. 즉, 아래의 2 구문이 동일하다는 의미이다.
- 16
- 16
- Prelude>
만약 함수가 2개의 파라메터를 갖는 경우, 함수를 backticks(역따옴표)로 둘러싸는 경우를 infix function 이라고 부른다. 예를 들어 div 함수의 경우 2개의 정수를 인수로 갖고, 나눗셈의 몫을 반환한다. div 92 10 의 경우 9가 나오는 것이다. 하지만 위와 같이 호출하는 경우 어느 수가 제수, 피제수인지 헷갈릴 수가 있다. 따라서 이런 경우 92 `div` 10 과 같이 infix function 의 형태로 기술하는 것이 이해하기 좋다.
- 9
- 9
728x90
'프로그래밍 Programming' 카테고리의 다른 글
하스켈 Starting out - (3) 리스트 입문 (0) | 2017.12.01 |
---|---|
하스켈 Starting out - (2) 함수를 만들어보자 (0) | 2017.11.30 |
하스켈 웹프레임워크 - Yesod 라우팅 구문 Routing Syntax (0) | 2017.11.30 |
Haskell 웹프레임워크 Yesod 퀵 스타트 가이드 (0) | 2017.11.25 |
하스켈 설치 및 Hello World 출력해보기 Quick steps to get up and running with Haskell on Ubuntu (0) | 2017.11.24 |