2017-02-27 2 views
1

Ich fand einige Anweisungen Pushback mit einem Vektor mit einer Funktion namens vector-push, das Problem ist, dass ich denke, es funktioniert nur mit gemeinsamen Lisp.Wie push-back einen Vektor in elisp

Was ist, wenn ich auf die Rückseite eines Vektors in elisp drücken möchte? Wie kann ich das machen?

Ich bin vertraut mit C++, wo Sie etwas wie vector.push_back(element); sagen.

Die Dokumentation zu Vektorfunktionen in elisp ist ziemlich spärlich.

Antwort

1

Emacs Lisp does not have extensible vectors.

Sie können sie natürlich emulieren, genau wie Sie multidimensional arrays emulieren können, erfinden das Rad in diesem Tag neu und Alter ist eine Verschwendung von Zeit.

Warum ein ungeeignetes Werkzeug verwenden?

+0

Nur für zukünftige Referenz dann, wenn ich ein resizable Array in elisp verwenden möchte, wie könnte ich darüber gehen? – Cameron

+1

Sie nicht. Sie vermeiden sie entweder (wenn Sie mit elisp stecken) oder Sie verwenden ein besseres Werkzeug. erfinde das Rad NICHT neu. – sds

+0

Was ist dann der Unterschied zwischen einem Array und einem Vektor in elisp? Ich weiß, dass Vektoren eine Teilmenge von Arrays sind, aber gibt es etwas, das ein Vektor tun kann, dass ein Array nicht kippen kann oder umgekehrt? – Cameron