2014-11-29 2 views
-1

2 함수를 호출해야하는 함수가있는 경우 어떻게하면 하스켈에서 수행 할 수 있습니까 ?? 당신은 아마 두 기능에 호출을 결합하려는 나는이 개 기능을 필요로하는 경우 예를 들어2 함수 호출을 포함하는 haskell의 함수

는 목록의 첫 번째 (10 개)와 지난 10 항목을 인쇄하고, 나는 하나 개의 함수

답변

1

내에서이 두 함수를 호출 할 결합 된 문자열 (또는 항목 목록)을 가져 와서 반환하거나 동일한 함수에서 출력 할 수 있습니다. 예를 들어, 두 가지 기능의 결과를 출력합니다 :

print ("First function: " ++ (show (f 1)) ++ " second function: " ++ (show (f 2))) 
2

을 난 당신이 예를 들어, 두 가지 유형의 기능

f :: a -> IO() 

가 있다고 가정 (IO는 모나드를하기 때문에)

printFirst :: Show a => [a] -> IO() 
printLast :: Show a => [a] -> IO() 

다음을 수행 할 수 있습니다

printBoth xs = printFirst xs >> printLast xs 

또는 구문 설탕

printBoth xs = do 
    printFirst xs 
    printLast xs 
관련 문제