私は Haskell の初心者で、誰かが私を助けてくれることを願っています。置換暗号を表す文字列 (アルファベット) のデータ構造を定義する必要があります。
2 に答える
2
これは代入暗号を表現するためのものなので
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
上記とほぼ同じように使用できる whichzip
を使用することですfromList
。
于 2013-10-22T18:26:04.410 に答える