Created
July 12, 2018 05:54
-
-
Save y2q-actionman/15ca43b0f251374c0c76609e94cd6fc1 to your computer and use it in GitHub Desktop.
Common Lisp で :key パラメータをとる関数。 cons 系と sequence 系しかなさそう。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CL-USER> (loop for sym being the external-symbol in (find-package :cl) | |
when (fboundp sym) | |
do (let ((arglist (excl:arglist sym))) | |
(when (and (member '&key arglist) | |
(member 'key arglist | |
:test (lambda (x y) | |
(ignore-errors (string= x y))))) | |
(format t "~&~A -> ~A~%" sym arglist)))) | |
NSUBST -> (NEW OLD TREE &KEY KEY TEST TEST-NOT) | |
MEMBER-IF -> (PREDICATE LIST &KEY KEY) | |
ASSOC-IF -> (PREDICATE ALIST &KEY KEY) | |
SUBSTITUTE -> (NEW OLD SEQUENCE &KEY FROM-END TEST TEST-NOT START END | |
COUNT KEY) | |
DELETE -> (ITEM SEQUENCE &KEY FROM-END END COUNT START KEY TEST | |
TEST-NOT IN-PLACE) | |
REMOVE -> (ITEM SEQUENCE &KEY KEY FROM-END TEST TEST-NOT START END | |
COUNT) | |
COUNT -> (ITEM SEQUENCE &KEY FROM-END TEST TEST-NOT START END KEY) | |
PUSHNEW -> (VALUE PLACE &REST KEYS &KEY KEY TEST TEST-NOT) | |
SUBST -> (NEW OLD TREE &KEY KEY TEST TEST-NOT) | |
SORT -> (SEQUENCE PREDICATE &KEY KEY) | |
MEMBER -> (ITEM LIST &KEY KEY TEST TEST-NOT) | |
ASSOC-IF-NOT -> (PREDICATE ALIST &KEY KEY) | |
POSITION -> (ITEM SEQUENCE &KEY FROM-END TEST TEST-NOT START END KEY) | |
NINTERSECTION -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
DELETE-DUPLICATES -> (SEQUENCE &KEY TEST TEST-NOT START END FROM-END | |
KEY) | |
INTERSECTION -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
NSUBLIS -> (ALIST TREE &KEY KEY TEST TEST-NOT) | |
RASSOC -> (ITEM ALIST &KEY TEST TEST-NOT KEY) | |
NSET-DIFFERENCE -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
COUNT-IF -> (TEST SEQUENCE &KEY FROM-END START END KEY) | |
REMOVE-IF-NOT -> (PREDICATE SEQUENCE &KEY FROM-END START END COUNT KEY) | |
NSUBSTITUTE -> (NEW OLD SEQUENCE &KEY FROM-END TEST TEST-NOT END COUNT | |
KEY START) | |
SUBSETP -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
FIND-IF -> (TEST SEQUENCE &KEY FROM-END START END KEY) | |
NSUBST-IF-NOT -> (NEW TEST TREE &KEY KEY) | |
RASSOC-IF-NOT -> (PREDICATE ALIST &KEY KEY) | |
DELETE-IF -> (PREDICATE SEQUENCE &KEY FROM-END START KEY END COUNT | |
IN-PLACE) | |
POSITION-IF-NOT -> (TEST SEQUENCE &KEY FROM-END START KEY END) | |
NUNION -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
MEMBER-IF-NOT -> (PREDICATE LIST &KEY KEY) | |
STABLE-SORT -> (SEQUENCE PREDICATE &KEY KEY) | |
SET-DIFFERENCE -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
SUBLIS -> (ALIST TREE &KEY KEY TEST TEST-NOT) | |
SEARCH -> (SEQUENCE1 SEQUENCE2 &KEY FROM-END TEST TEST-NOT START1 END1 | |
START2 END2 KEY) | |
REMOVE-DUPLICATES -> (SEQUENCE &KEY TEST TEST-NOT START FROM-END END | |
KEY) | |
SUBSTITUTE-IF-NOT -> (NEW TEST SEQUENCE &KEY FROM-END START END COUNT | |
KEY) | |
MISMATCH -> (SEQUENCE1 SEQUENCE2 &KEY FROM-END TEST TEST-NOT START1 | |
END1 START2 END2 KEY) | |
ADJOIN -> (ITEM LIST &KEY KEY TEST TEST-NOT) | |
SET-EXCLUSIVE-OR -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
NSUBSTITUTE-IF-NOT -> (NEW TEST SEQUENCE &KEY FROM-END START END COUNT | |
KEY) | |
REMOVE-IF -> (PREDICATE SEQUENCE &KEY FROM-END START END COUNT KEY) | |
ASSOC -> (ITEM ALIST &KEY TEST TEST-NOT KEY) | |
MERGE -> (RESULT-TYPE SEQUENCE1 SEQUENCE2 PREDICATE &KEY KEY) | |
NSUBST-IF -> (NEW TEST TREE &KEY KEY) | |
POSITION-IF -> (TEST SEQUENCE &KEY FROM-END START KEY END) | |
FIND-IF-NOT -> (TEST SEQUENCE &KEY FROM-END START END KEY) | |
REDUCE -> (FUNCTION SEQUENCE &KEY FROM-END START END KEY INITIAL-VALUE) | |
FIND -> (ITEM SEQUENCE &KEY FROM-END TEST TEST-NOT START END KEY) | |
NSET-EXCLUSIVE-OR -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
DELETE-IF-NOT -> (PREDICATE SEQUENCE &KEY FROM-END START END KEY COUNT | |
IN-PLACE) | |
RASSOC-IF -> (PREDICATE ALIST &KEY KEY) | |
SUBST-IF -> (NEW TEST TREE &KEY KEY) | |
UNION -> (LIST1 LIST2 &KEY KEY TEST TEST-NOT) | |
NSUBSTITUTE-IF -> (NEW TEST SEQUENCE &KEY FROM-END START END COUNT KEY) | |
SUBST-IF-NOT -> (NEW TEST TREE &KEY KEY) | |
COUNT-IF-NOT -> (TEST SEQUENCE &KEY FROM-END START END KEY) | |
SUBSTITUTE-IF -> (NEW TEST SEQUENCE &KEY FROM-END START END COUNT KEY) | |
NIL | |
CL-USER> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment