• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Akade _ Strl Sortieren VS vl-sort (pro gewöhnliche le liste)

  • Ersteller Ersteller x11start
  • Erstellt am Erstellt am

x11start

Guest
um Listen zu bestellen gibt es 2 Befehle:

- die "alteste" (die nur Stringlisten bestellt) heißt acad_strlsort

- während die jüngste (weil mit allen anderen vl-xxx Befehlen aus Version 2000 eingeführt wird oder so...), wird es vl-sort genannt.
Letzteres hat den Vorteil, dass die Neuordnung auch der ganzen und realen Zahlen ermöglicht wird und die Bestellung vom Minderjährigen zum Großen oder umgekehrt ausgewählt wird; was mit acad-strlsort, können Sie es nur tun (reverse (acad-strlsort nomelista).

Es scheint daher, dass vl-sort ist definitiv besser als der Vorgänger... aber eine lisp in autocad gemacht und dann auf gstarcad gestartet.... Ich hatte eine (nur angenehm!) Überraschung:

z.B. (Setq-Liste '("3" "0" "2" "1" "0" "2")

auf autocad tun:
(Akad-Strlsort-Liste)
Ich verstehe:
"("0" "0" "1" "2" "2" "2" "3"

das gleiche Ergebnis, das ich mit dem Befehl bekomme:
(vl-sort list <)

.... aber wenn ich vl-sort in gstarcad benutze, wird das Ergebnis:
"("0" "1" "2" "3")

praktisch der Befehl "deletes the doubles"... und die Sache kann ernsthafte Bedienprobleme an der Lisp!
Leider, wie ich bereits erwähnt, erlaubt der Befehl acad-strlsort nicht, die Zahlen neu zu bestellen, sondern nur die Strings, so werde ich heute versuchen, meine "Modul" lisp für die Ordinationen zu ändern, um sicherzustellen, dass die n. Reals werden in Strings umgewandelt, vor der Bestellung... darauf achten, sie "0" vorzustellen; dies, weil sonst die Liste...

("10" "1" "8") würde ("1" "10" "8") werden

statt mit opportuni "0" vorn..

("10" "01" "08") wird ("01" "08" "10")... die insgesamt umgeformt ist die richtige Sequenz..

letzte Anmerkung:
Es gibt auch einen Befehl namens vl-sort-i, der dazu dient, eine Liste "Aufnahme" der Reihenfolge zu bestellen, in der eine andere Liste bestellt werden soll.
Nun: dieser Befehl funktioniert sehr gut auf gstarcad.... in dem Sinne, dass Sie in diesem Fall nicht "essen" Indizes, falls die Referenzliste bearbeitet werden, haben doppelte Werte!
 
nicht "verschließen" duplikate tun dies:
Code:
(setq lista '(12 3 8 5 3 3)

(Mapcar)
Lambda (x) (nth x lista)
(vl-sort-i lista '<)
)

(3 3 5 8 12)
...
auch in gstarcad;)
 
Danke gp.... sobald ich es versuchen kann!

unter anderem Ich habe gelesen, dass acad-strlsorts die Grenze von 200 Artikeln in der Liste hat: es ist kein großes Problem für die meisten Fälle... Aber er hält immer noch ein Auge auf ihn.
 
tatsächlich funktioniert richtig auf gstarcad... Dank der Tatsache, dass es verwendet vl-sort-i auch wo, bevor es verwendet vl-sort.
Vielen Dank!

Ich hänge das "Modul" für Sortierlisten an, überarbeitet und korrekt.
 

Anhänge

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben