当你编写稍微复杂的函数时,我注意到它$被大量使用但我不知道它的作用是什么?
Haskell中的Inta和a 之间有区别Maybe Int吗?如果有,我该如何转换Maybe Int为Int?
据我所知,Haskell中的map接受一个函数和一个List,并在创建一个应用于每个成员的函数的新列表之前将该函数应用于该列表中的每个元素.
尝试一下,这可以很好地使用非常简单的函数,(+5)所以如果我输入它可以正常工作:
map (+7) [2,8,9,3]
Run Code Online (Sandbox Code Playgroud)
我明白了:
[9,15,16,10]
Run Code Online (Sandbox Code Playgroud)
但是,这不适用于我创建的功能.假设我创建了一个shiftLetter类型声明为的函数:
shiftLetter :: Char -> Int -> Char
Run Code Online (Sandbox Code Playgroud)
(使用Int移动返回的信件的距离)
如果我使用多个字母创建一个新函数并键入:
shiftLetters :: String -> Int -> Char
shiftLetters letters shift = map shiftLetters "AKHLKHN"
Run Code Online (Sandbox Code Playgroud)
我收到错误,为什么会这样?
Haskell中是否有一个函数可以接收任何数据类型(特别是a String)的列表,并检查列表中是否有重复的元素,即String?中的重复字母?