子序列:
(subseq (apply sorted-set (range 10)) > 5 < 7)
; (6)
这我理解——但是
(subseq (apply sorted-set (range 10)) < 5 < 7)
也给出 (6),即使 (6 不小于 5)。有人可以解释应用 subseq 时究竟会发生什么吗?
子序列:
(subseq (apply sorted-set (range 10)) > 5 < 7)
; (6)
这我理解——但是
(subseq (apply sorted-set (range 10)) < 5 < 7)
也给出 (6),即使 (6 不小于 5)。有人可以解释应用 subseq 时究竟会发生什么吗?
你打电话时
(subseq (apply sorted-set (range 10)) < 5 < 7)
subseq
首先创建一个以s
开头的序列start-key
,即5
,sos
变为(5, 6, 7, 8, 9)
。
然后subseq
使用take-while
usingend-test
和end-key
( < 7
),但首先检查新序列的第一个元素是否用( )s
填充。如果没有,则它不包含在结果序列中。start-test
start-key
< 5
subseq
take-while
用序列调用(6, 7, 8, 9)
,结果是6
.
所以subseq
只检查一个元素< 5
,这就是5
它本身。
我希望这对你有意义:-)
此外,您可以随时查看文档中的源代码。