我被赋予以下任务:
编写一个函数
enc :: Int -> String -> String
,该函数通过在每个字符的Unicode值上添加一些给定的整数来加密字符串。现在,使用enc
作为本地声明的函数,编写一个函数encrypt :: Int -> String -> (String,String -> String)
,该函数接受一个String
和一个Int
并返回一对加密的字符串和一个函数,解密字符串。
我已经编写了函数enc
,这非常简单,但是我不知道如何从encrypt
返回函数。
到目前为止我有
encrypt :: Int -> String -> (String,String -> String)
encrypt num word = (enc num word,???)
我不知道该写些什么来代替'???'。我已经读过一些有关咖喱函数的文章,但是我发现的所有东西都定义了一个函数,该函数将函数作为参数并使用该函数递归地调用自身。 encrypt
不使用函数作为参数。如何定义一个全新的函数并从另一个函数内部返回它而不是返回其值?