gpt4 book ai didi

elisp - Emacs Lisp (elisp) 中的范围数据类型或生成器?

转载 作者:行者123 更新时间:2023-12-03 20:15:06 25 4
gpt4 key购买 nike

什么是 elisp 对 Python 的等效项 range(start, end, [step]) ?

最佳答案

number-sequence类似于python的range但它的输出却大不相同。
例如:

(number-sequence 5)
=> (5)
(number-sequence 1 5)
=> (1 2 3 4 5)
(number-sequence 1 5 2)
=> (1 3 5)

我使用这个函数给我一个来自 python 的 range 的输出。 :
(defun py-range (start &optional end step)
(unless end
(setq end start
start 0))
(number-sequence start (1- end) step))

现在一切都按预期工作:
(py-range 5)
=> (0 1 2 3 4)
(py-range 1 5)
=> (1 2 3 4)
(py-range 1 5 2)
=> (1 3)

关于elisp - Emacs Lisp (elisp) 中的范围数据类型或生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15014996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com