String 如何定义字符串?
我是哈斯克尔的新手,希望有人能帮助我。我需要为表示替换密码的字符串(字母表)定义一个数据结构。字符的String 如何定义字符串?,string,haskell,encryption,String,Haskell,Encryption,我是哈斯克尔的新手,希望有人能帮助我。我需要为表示替换密码的字符串(字母表)定义一个数据结构。字符的列表如何 Prelude> let alphabet = ['a'..'z'] Prelude> alphabet "abcdefghijklmnopqrstuvwxyz" 因为这是为了表示取代基密码 type Cypher = [(Char, Char)] makeCypher :: String -> Cypher makeCypher s = zip ['a'
列表如何
Prelude> let alphabet = ['a'..'z']
Prelude> alphabet
"abcdefghijklmnopqrstuvwxyz"
因为这是为了表示取代基密码
type Cypher = [(Char, Char)]
makeCypher :: String -> Cypher
makeCypher s = zip ['a' .. 'z'] s
在这里,您只需传递一个表示每个新字母位置的字符串,因此“f…”将a映射到f。它返回对的列表[('a','f')…]
然后用它,
import Data.Maybe
encrypt :: Cypher -> String -> String
encrypt cyph = mapMaybe (flip lookup cyph)
它只是查找配对列表中的每个字符
另一种选择是使用Data.Map
,它的使用方法与上面的几乎相同,用zip
代替fromList
和类似的方法。到目前为止您尝试了什么?还有,字符列表,也称为字符串