如何在 elisp 中推回向量

问题描述 投票:0回答:2

我发现了一些使用名为

vector-push
的函数来推回向量的指令,问题是我认为它只适用于 common lisp。

如果我想在 elisp 中推到向量的后面怎么办?我怎样才能做到这一点?

我熟悉 C++,你会说类似

vector.push_back(element);

elisp 中关于向量函数的文档非常稀疏。

lisp elisp
2个回答
0
投票

Emacs Lisp 没有可扩展向量

当然,你可以模仿它们,就像你可以模仿多维数组一样,在当今时代重新发明轮子是浪费时间。

为什么要使用不合适的工具?


0
投票

来自:https://www.gnu.org/software/emacs/manual/html_node/elisp/Vector-Functions.html

功能:vconcat &rest 序列

该函数返回一个包含序列所有元素的新向量。参数序列可以是适当的列表、向量、字符串或布尔向量。如果没有给出序列,则返回空向量。

该值要么是空向量,要么是新构造的非空向量,不等于任何现有向量。

试试这个:

(vconcat '(1 2 3) '(4 5 6))
;; returns [1 2 3 4 5 6]
© www.soinside.com 2019 - 2024. All rights reserved.