-1

操作

(filter (`notElem` "'\"").[(1,'a','%',"yes")])

エラーが発生します。このフィルターをそのリストに適切に適用するにはどうすればよいですか?

4

2 に答える 2

2

いくつかの深刻な問題があります。まず、あなたの構文は奇抜です(.間違いなくそこにあるべきではありません)。しかし、より大きな問題は、フィルタリングしようとしているものがタイプ[(Int,Char,Char,[Char])](つまり、4タプルを含むリスト)であるということです。

また、リストには要素が1つだけあります。それは(1,'a','%',"yes")です。とにかく役に立たないフィルタリング。フィルタリングに提供する関数はタイプでなければなりませんa -> Boolean。ここaで、はリストのすべての要素のタイプです。

ある種の奇妙な異種リストか何かが欲しかったようです。

于 2011-04-15T23:58:36.383 に答える
1

Haskellの.演算子は関数合成です-2つの関数を一緒に合成します。

だからあなたのコード、

(`notElem` "'\"") . [(1,'a','%',"yes")]

notElem関数といくつかのリストの構成のように見えます。それは間違っています。

を削除し、最初にリスト.を確認してください。show

> filter (`notElem` "'\"") (show [(1,'a','%',"yes")])
"[(1,a,%,yes)]"
于 2011-04-15T23:57:02.540 に答える