【发布时间】:2013-11-14 21:45:24
【问题描述】:
Haskell 中是否有一个函数,如果你提供了一个 Char 和一个 13 对字符的列表(所有不同的,即字母表中的每个字母都使用一次且仅一次),它会返回你配对的 Char使用您输入的字符,即如果我输入以下内容:
pairedChar Q [(A,Z),(B,Y),(C,X),(D,W),(E,V),(F,U),(G,T),(H ,S),(I,R),(J,Q),(K,P),(L,O),(M,N)]
我希望它返回 J?
如果没有这样的功能,我想也许可以通过 unzip 来获得一对列表,但不确定在获得列表后如何处理这些列表?
【问题讨论】:
-
你不应该解压缩,你可以向下(使用模式匹配((x,y):ss)这个列表作为对并检查对中的任何一个成员是否是输入如果它是返回另一个。
-
只记得,Char 是
's',所以你的代码必须看起来像pairedChar 'Q' [('A','Z'),('B','Y'),... -
hoogle 擅长回答“有没有做 X 的函数”形式的问题;只需在搜索框中输入您的类型签名。还要考虑你是否真的想要
Map。