-2

私は Haskell の初心者で、誰かが私を助けてくれることを願っています。置換暗号を表す文字列 (アルファベット) のデータ構造を定義する必要があります。

4

2 に答える 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 に答える