scheme : list append

Bonjour,

J'ai une liste '("a" "b")
J'ai un vecteur #("1" "2" "3")

et je veux ajouter (vector-ref monvecteur 2) à ma liste pour avoir
'("a" "b" "3") mais pas moyen de trouver comment faire
avec
(append maliste (vector-ref monvecteur 2))
j'obtiens
("a" "b" . "3") et ce n'est pas ce que je veux à savoir ("a" "b" "3")

merci à qui me soufflera la bonne syntaxe

···

--
Cordialement, Daniel Cartron
« On peut fort bien pratiquer des opérations chirurgicales douloureuses sans
anesthésier le patient à condition de se mettre du coton dans les oreilles. »
François Cavanna - Le saviez-vous ?

Si tu t'en fiches de l'ordre de la liste :
(cons (vector-ref monvecteur 2) '("a" "b"))
   => ( "3" "a" "b")

Si tu veux respecter l'ordre
(append '("a" "b") (list (vector-ref monvecteur 2)))
  => ("a" "b" "3") (non vérifier)

En terme de rapidité et de mémoire, dans une grande boucle par ex, il vaut
mieux utiliser cons, quitte à construire d'abord sa liste à l'envers et la
retourner ensuite avec (reverse malist)

A bientôt

···

Le mardi 12 mai 2015, 08:55:35 Daniel Cartron a écrit :

Bonjour,

J'ai une liste '("a" "b")
J'ai un vecteur #("1" "2" "3")

et je veux ajouter (vector-ref monvecteur 2) à ma liste pour avoir
'("a" "b" "3") mais pas moyen de trouver comment faire
avec
(append maliste (vector-ref monvecteur 2))
j'obtiens
("a" "b" . "3") et ce n'est pas ce que je veux à savoir ("a" "b" "3")

--
Gilles