操作
(filter (`notElem` "'\"").[(1,'a','%',"yes")])
エラーが発生します。このフィルターをそのリストに適切に適用するにはどうすればよいですか?
操作
(filter (`notElem` "'\"").[(1,'a','%',"yes")])
エラーが発生します。このフィルターをそのリストに適切に適用するにはどうすればよいですか?
いくつかの深刻な問題があります。まず、あなたの構文は奇抜です(.
間違いなくそこにあるべきではありません)。しかし、より大きな問題は、フィルタリングしようとしているものがタイプ[(Int,Char,Char,[Char])]
(つまり、4タプルを含むリスト)であるということです。
また、リストには要素が1つだけあります。それは(1,'a','%',"yes")
です。とにかく役に立たないフィルタリング。フィルタリングに提供する関数はタイプでなければなりませんa -> Boolean
。ここa
で、はリストのすべての要素のタイプです。
ある種の奇妙な異種リストか何かが欲しかったようです。
Haskellの.
演算子は関数合成です-2つの関数を一緒に合成します。
だからあなたのコード、
(`notElem` "'\"") . [(1,'a','%',"yes")]
notElem
関数といくつかのリストの構成のように見えます。それは間違っています。
を削除し、最初にリスト.
を確認してください。show
> filter (`notElem` "'\"") (show [(1,'a','%',"yes")])
"[(1,a,%,yes)]"