私たちは現在、完全に理解していない大学の課題に取り組んでいます(解答はしませんが、アイデアや提案のみ)。与えられた何ハスケル - 機能を呼び出す関数を持っています
がタイプです:
type MyType = String -> String
今、私たちは2つの文字列と機能(タイプ)を取り、その後、機能(タイプ)を与える機能を持つことができるようにしようとしている
myCode :: String -> String -> MyType -> MyType
と我々はすでにがMyType 1つとして使用することができる機能、実装:
emptyString :: MyType
emptyString :: (\a -> "")
TAをskは複数の2xストリングを格納できることです。私たちは「こんにちは」である入力文字列、および私たちは「emptyString」に入れcとし、「世界」で、別のものを持っている。この場合、
myCode :: String -> String -> MyType ->MyType
myCode a b c = (\x -> b)
:これが私たちの現在の考えです。
a = (myCode "Hello" "World" emptyString) ""
私たちは「A」入力に「世界」を取得する:我々は、コンソールで次のように入力するときので これは、1つの文字列のために働きます。今は難しい部分です:私たちは、これらのいくつかを保存することができます(これは別のタスクであり、現在は必要ありません)。
b = (myCode "1" "2" a) "Hello" "World" emptyString "")
この関数は「」と、この内の「emptyString」として保存された「B」で呼ぶだろう:私たちは別の変数を宣言するときに「」今使用することができるかもしれないと思いました。 あなたが推測しているかもしれませんが、動作しません!そして、私たちは今からどのように続けていくのか、本当に失われています。
あなたがこの部分に到達したとき、私たちのタスクの複雑な説明を理解する時間がかかりました。
事前にお寄せいただきありがとうございます!
「ストア」とは"2x Strings"とは何ですか? –
これは「電話帳」練習の難読化ですか? –
最近の質問と同じ割り当てのようですhttp://stackoverflow.com/questions/41753366/identifying-input-values-for-which-function-does-not-generate-a-specific-outpu – amalloy