質問

私がこのようなものです。私は考えて書くのマクロ機能をこのようなものをやりやすいのですが、まれに発生するという創力をするつもりはありま

であり、既存の機能がまだこのと同じようなもの稲?

(defun remove-low-words (word-list)   
  "Return a list with words of insufficient score removed."
  (let ((result nil))
    (dolist (word word-list)  
      (when (good-enough-score-p word) (push word result)))                                      
    result))  
役に立ちましたか?

解決

が内蔵方法を行っています。片道することはできない。

(remove-if-not 'good-enough-score-p word-list)

別:

(loop for word in word-list  
      when (good-enough-score-p word)
      collect word)

とい:

(mapcan (lambda (word)
          (when (good-enough-score-p word)
            (list word)))
        word-list)

など---。ものもありま シリーズ繰り返し処理を実行し.のに対して繰り返し処理を実行版と同一のループ版が、シリーズ版は興味深い:

(collect (choose-if 'good-enough-score-p (scan word-list))))

であり、することが見込まれる改革 一部の 車をまわしています。:-)

他のヒント

この機能または remove-if-not, ではですのでお問い合わせ下さい。

(defun remove-low-words (word-list)
  (remove-if-not #'good-enough-score-p word-list))

だ自分が入ってしまったような感覚を再発明するなリストは、ほとんどの場合です。チェックをHyperspecます。

カップルの方法できます。最初がなければ、おそらく最も簡単に行うことができるので再帰的に.

(defun remove-low-words (word-list)
  (if (good-enough-score-p (car word-list))
      (list word (remove-low-words (cdr word-list)))
      (remove-low-words (cdr word-list))))

このままで mapcarreduce, を構築できますリストの失敗の要素に置換され nil 後者に使用できるフィルターの nil.

どちらが良い候補"フィルター"マクロや関数のかかるリストを返しますリストのフィルターの一部であったが,.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top