J'ai une instruction let
dans laquelle je voudrais déstructurer dynamiquement une liste. Ce qui suit est ma solution:Liste de Destructuring dynamique dans Clojure
symList ;; list of some Strings which will become the vector of Symbols to assign to
valList ;; list of some values, same length as symList
(let [(map read-string symList) valList]
...)
Une valeur exemple de symList
serait ("pt1" "pt2")
et une valeur d'exemple de valList
serait (1 2)
Cependant, cela produit une exception que la première partie est une « forme de liaison non pris en charge ". Je soupçonne qu'il me manque quelque chose concernant la citation syntaxique, ou que ce n'est pas possible. Tout avis serait grandement apprécié.
EDIT: Je ne connaîtrai que ces valeurs lors de l'exécution, d'où cette approche. Deuxièmement, je dois être capable de passer plus tard la portée lexicale, d'où l'utilisation de let
.
Je suis intéressé à voir si c'est possible; cela semble douteux mais je ne suis pas un expert. – Pointy