반응형
Filter
(require 'seq)
(seq-filter
(lambda (x)
(= 0 (% x 2)))
'(1 2 3 4 5 6))
;; => (2 4 6)
seq
패키지에 들어있는 함수이기 때문에 상황에 따라 임포트를 해야할 수도 있습니다.
Map
(mapcar
(lambda (x)
(* x 2))
'(1 2 3 4 5))
;; => (2 4 6 8 10)
물론 lambda
대신 일반적인 함수도 사용할 수 있습니다.
Map(2)
(mapc
(lambda (x)
(* x 2))
'(1 2 3 4 5))
;; => (1 2 3 4 5)
이름 때문에 적어보긴 했는데, 사실 mapc
는 Map이라고 하기엔 좀 그렇고, 오히려 Interation에 가깝습니다. 따라서 다른 언어의 for문과 비슷하게 리스트 원소를 이용해 반복문을 작성할 때 유용합니다. 리턴되는 결과는 입력된 리스트의 각 원소이기 때문에 원래 데이터와 동일한 데이터가 돌려진다고 볼 수 있습니다.
728x90
반응형
'기술적인 이야기 > 이맥스' 카테고리의 다른 글
Property List (Emacs Lisp) (253) | 2020.03.30 |
---|---|
Let과 Let* (Emacs Lisp) (1328) | 2020.03.30 |
문자열 처리 함수들 (Emacs Lisp) (1020) | 2020.03.29 |
리스트 다루기 (Emacs Lisp) (889) | 2020.03.24 |
Emacs (1664) | 2020.03.24 |
댓글