Emacs Lispに高次関数filter
と同等のものがありますか? PythonやJavascriptのような機能。Elispのフィルター関数
(filter-equivalent (lambda (n) (= (% n 2) 0)) '(1 2 3 4 5 6 7 8))
==> (2 4 6 8)
Emacs Lispに高次関数filter
と同等のものがありますか? PythonやJavascriptのような機能。Elispのフィルター関数
(filter-equivalent (lambda (n) (= (% n 2) 0)) '(1 2 3 4 5 6 7 8))
==> (2 4 6 8)
これはcl-remove-if-not
です。口一杯のビット、しかしそれは動作します。少し詳しく説明し
、あなたはこの機能を取得するために
(require 'cl-lib)
を必要としています。 remove-if-not
と呼ばれるエイリアスがありますが、 remove-if-not
からcl
を使用しているように見えるかもしれません。
using namespace std
をC++で実行しないでください。接頭辞は だが、毎回std::cout
と言っておくことをお勧めします。
Emacs 23では、cl互換パッケージにはない 'remove-if'と' remove-if-not'があるようです。 – Vatine
@Vatine Emacs 24には 'remove-if'と' remove-if-not'もありますので、それらが組み込まれているので答えとして投稿してください。 – jcubic
@Vatine、@jububic:Emacsの 'remove-if-not' 23はCL互換機能の一部であり、 'cl-seq.el'で定義されています。しかし、少なくとも私の経験では、何かを「必要とする」ことなくいつでも利用可能です。古いEmacsのバージョンでは、 'cl-seq.el'がデフォルトの設定で読み込まれなかったのでしょうか? –
可能重複http://stackoverflow.com/questions/2234860/lisp-filter-out-results-from-list-not-matching-predicate ) –