0
Schemeで "foldr"を使用してリストをフィルタリングしようとしていますが、特定の述語で "true"を返す要素のみをリストに残そうとしています。 私はスキームでfoldr /リットル(例えば、this one)について、ここで以前discussingsを使用しようとしましたが、このコードで出てきた:Schemeでfoldrを使用したフィルタリスト
(define (filterb pred? lst)
(foldr (lambda (e a)
(if (pred? e)
(cons e a)
a))
lst
'()))
実行しているコマンドは、たとえば次のとおりです。
(filterb ? '(1 2 3 4))
しかし、残念ながら、常に指定されたリストを返します。
私は何が間違っているのか、なぜフィルタリングが行われていないのか、いくつかの助けを得ることができてうれしいです。 ありがとう!
'foldr'は通常、そのために、その引数を取りません。ドキュメントを確認してください。 – molbdnilo
ありがとう!それでおしまい... – avish12