私はまだHaskellで新しいです。そのような関数を書くつもりです。暗号の入力パラメータは整数のリストではなく、整数のリストです。最初の文字は、最初の整数をパラメータとして使用し、2番目の文字を2番目の整数などで使用して暗号化されます。整数を使い果たした場合は、最初から使用します。整数のリストを持つシーザーの暗号
これは私がこれまでに得たものである:あなたの助けのための
import Data.Char
--encode is for encoding one character with one interger
encode :: Int -> String -> String
encode shift msg =
let ords = map ord msg
shifted = map (+ shift) ords
in map chr shifted
-- this is the troubling part, I try to use head to send the first element of string and the first element of intgers' list
cipher :: [Int] -> String -> String
cipher x str =
let splitedstr= (head str)
splitedint= (head x) -- parse error on input splitedint
in encode splitedint splitedstr ++ cipher x str
感謝。
エンコードして、 'String'の代わりに' Char'を使うべきではありませんか? –
質問はないので、私は投票に参加しませんでした。エラーは表示されません。 –
最初の文の途中にある大文字の "The"は、代入の開始と同様に疑わしいように見えます。 – Jubobs