Ich war nicht wirklich sicher, wie man den Namen dieses Threads formuliert, also wenn Sie es irgendwie klären können, tun Sie es bitte.Doseq wertet 1 x für jedes y aus. Gibt es eine Möglichkeit, 1 x für 1 y usw. in Clojure auszuwerten?
Mein Beispiel-Code ist dies:
(doseq [x [1 2 3] y [3 2 1]] (println (str x y)))
Der Ausgang dieses Codes ist:
13
12
11
23
22
21
33
32
31
nil
Ich verstehe, dass Listenkomprehensionen, und beide doseq wie diese zu bewerten. Gibt es einen anderen Weg, dies zu tun, so dass anstelle von 1 Element von x für jedes Element von y usw. 1 Element von x mit 1 Element von y usw. verwendet wird, so dass die Ausgabe stattdessen wäre :
13
22
31
Sorry, wenn ich dieses Recht nicht bin Phrasierung, ich kann es einfach nicht richtig in Worte zu fassen scheinen.
EDIT: Ich denke, dass Sie dies in Haskell mit List Comprehensions und einer Spracherweiterung tun können. ParallelListComps oder so etwas.