Created
December 7, 2016 09:59
-
-
Save zhouqiang-cl/ba87fc7e9fa076befdc5ab9607f69566 to your computer and use it in GitHub Desktop.
common lisp 的函数 EVERY, SOME, NOTEVERY, NOTANY
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
语法 | |
every predicate &rest sequences+ => generalized-boolean | |
some predicate &rest sequences+ => result | |
notevery predicate &rest sequences+ => generalized-boolean | |
notany predicate &rest sequences+ => generalized-boolean | |
参数和值 | |
predicate --- 一个函数指示符, 这个函数要接受的参数个数和 sequences 数目一样多 | |
sequence --- 一个 sequence | |
result --- 一个 object | |
generalized-boolean --- 一个 generalized-boolean | |
描述 | |
every, some, notevery, notany 测试 sequences 中的元素是否满足 predicate 条件. | |
every 当 predicate 测试失败时返回 false, 当所有的元素测试都成功时, 返回 true | |
some 有 predicate 测试成功时返回 true, 所有元素都测试失败时, 返回 false | |
notevery 当 predicate 测试失败时返回 true, 当所有的元素都测试成功时, 返回false | |
notany 当有 predicate 测试成功时返回 false, 所有元素都测试失败时, 返回true | |
代码 | |
* (every #'characterp "abc") | |
T | |
* (some #'= '(1 2 3 4 5) '(5 4 3 2 1)) | |
T | |
* (notevery #'< '(1 2 3 4) '(5 6 7 8) '(9 10 11 12)) | |
NIL | |
* (notany #'> '(1 2 3 4) '(5 6 7 8) '(9 10 11 12)) | |
T | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment