子序列:
(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-whileusingend-test和end-key( < 7),但首先检查新序列的第一个元素是否用( )s填充。如果没有,则它不包含在结果序列中。start-teststart-key< 5
subseqtake-while用序列调用(6, 7, 8, 9),结果是6.
所以subseq只检查一个元素< 5,这就是5它本身。
我希望这对你有意义:-)
此外,您可以随时查看文档中的源代码。