요즘 하스켈 보고 있습니다...
Haskell: Craft of Functional Programmming이란 책으로 보고 있는데...
책 잘섰더군요... (뒤로 가봐야 확실하겠지만...;;;)
하여간 하스켈 문법에서...
Guard란게
C에서의 switch문하고 비슷한거 같더군요...
switch의 case안에서 expression을 쓸수있게 해준거 정도로 이해하면 될까요?
물론 그둘의 표현 방법은 다르겠지만...
개념적으로 말이죠...~
Haskell 의 guard 는 C 의 switch 보다는 if ~ else if 체인에 가깝습니다. 위에서부터 조건식을 차례로 평가해 처음 참인 것을 택하고, otherwise 가 default 입니다.
switch 가 값 비교만 한다면 guard 는 임의의 조건식을 쓸 수 있다는 점이 다릅니다. 값에 따른 분기는 패턴 매칭이 switch 의 case 와 더 비슷합니다.