2013-07-10 2 views
3

'where'절에서 함수를 작성하는 올바른 방법을 알려주시겠습니까? 나는 내가 오히려 예제에서 보여 줄 문구에 질문을 투쟁 :where 절 내의 함수 매개 변수

난에서 최고 수준의 기능에 공급되는 매개 변수를 사용할 수

where 절

complexMath num1 num2 = sum * sum 
    where sum = num1 + num2 

아니면 함수를 매개 변수화 할 수

과 같이 'where'절도 그렇습니다.

complexMath num1 num2 = (sum num1 num2) * (sum num1 num2) 
    where sum n1 n2 = n1 + n2 

두 변형 모두 작동하지만 특정 구문을 사용하여 올바른 방법으로 수행해야합니다. 그래서 무엇입니까? 아마도 별 문제가 아니며 어리석은 것 같습니다.

고마워요.

편집 그 합산 함수를 두 번 사용 있도록 좀 더 명확하게하는 기능, 예를 바꾸었다.

이건 어때?

complexMath num1 = let num2 = 10 + 8 in sum num2 * sum num2 
    where sum n2 = num1 + n2 

이 방법을 사용하면 올바른 방법일까요?

+1

* "구문 현명한" – deceze

답변