簡體   English   中英

Haskell-加密 function

[英]Haskell- Encipher function

我正在 HASKELL 中創建 function 加密。 這就是我到目前為止所擁有的。

encipher :: Eq a => [a] -> [b] -> [a] -> [b]
encipher _ _ [] = []
encipher xs ys (z:zs) = if f == []
                then z:encipher xs ys zs
                else snd (head f) : (encipher xs ys zs)
    where t = zip xs ys
    f = filter ((== z) . fst) t
    

p9tests = [encipher ['A'..'Z'] ['a'..'z'] "THIS" == "this"]

我用 p9tests 測試它。 不知道我做錯了什么。

你的問題是縮進。 where下的所有定義都需要在同一級別縮進。

因此,要修復您的特定錯誤,您可以將f縮進到上一行的t級別:

    where t = zip xs ys
          f = filter ((== z) . fst) t

或者您可以 go 以另一種方式將t帶到f的水平:

    where 
    t = zip xs ys
    f = filter ((== z) . fst) t

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM