우리는 현재 완전히 이해하지 못하는 대학의 과제에 참여하고 있습니다 (해결책은 없지만 아이디어 나 제안 만하십시오). 우리가이 문자열과 다음 기능 (유형) 및 소요 기능을 가질 수 있도록 노력하고있다 이제하스켈 - 함수 호출 함수가 있습니다
type MyType = String -> String
함수 (유형)를 제공
:은 무엇 부여하는 유형입니다
myCode :: String -> String -> MyType -> MyType
우리는 이미합니다 MyType 하나로 사용할 수있는 기능을 구현 :
emptyString :: MyType
emptyString :: (\a -> "")
조교를 sk는 여러 개의 2x 문자열을 저장할 수 있습니다. 우리가 "안녕하세요"입니다 입력 문자열, 우리가 "emptyString"에 넣어 C로 다음 "세계"이고 다른 하나가이 경우에
myCode :: String -> String -> MyType ->MyType
myCode a b c = (\x -> b)
: 이것은 우리의 현재 생각입니다.
a = (myCode "Hello" "World" emptyString) ""
우리가 "A"입력에 "세계"를 얻을 : 우리는 콘솔에 다음을 입력 할 때 때문에 이것은 하나 개의 문자열에 적용됩니다. 이제 어려운 부분 : 우리는 이들 중 몇 가지를 저장할 수 있어야합니다 (검색은 다른 작업이며 지금은 필요하지 않습니다). 우리는 다른 변수를 선언 할 때 우리는 "A"지금 사용할 수 있습니다 생각 :
b = (myCode "1" "2" a) "Hello" "World" emptyString "")
이 "B", "A"와이 내 "emptyString"로 저장 기능에 부를 것이다. 짐작할 수 있듯이 작동하지 않습니다! 그리고 우리는 지금부터 어떻게 계속할 것인가에 대한 손실이 있습니다.
이 부분에 도달하면 작업에 대한 복잡한 설명을 이해하는 데 시간이 걸렸음을 의미합니다.
미리 감사드립니다.
"상점"이란 무엇입니까?"2x 문자열"이란 무엇입니까? –
이것은 '전화 번호부'운동의 난독 화입니까? –
최근 질문과 동일한 과제로 보입니다. http://stackoverflow.com/questions/41753366/identifying-input-values-for-which-function-does-not-generate-a-specific-outpu – amalloy