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
。
這是一個很好的做法,包括前綴,而不是在C++中做using namespace std
, 但每次都說std::cout
。
可能重複http://stackoverflow.com/questions/2234860/lisp-filter-out-results-from-list-not-matching-predicate ) –