Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Länge einer Liste

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Länge einer Liste (1394 mal gelesen)
Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 24. Feb. 2011 22:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

wie viele z.B. Koordinatenpunkte dürfen in einer Liste sein.

Wer kann mir die Anzahl mitteilen.
Das Thema gab es schon im Forum, ich finde es aber nicht mehr.

Gruß

Theodor

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 25. Feb. 2011 00:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Theodor Schoenwald 10 Unities + Antwort hilfreich

Minimal 0
maximal so viele wie in den Speicher passen
Mehr als 1Mio hatte ich auf jeden Fall schon in einer Liste.

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

archtools
Mitglied



Sehen Sie sich das Profil von archtools an!   Senden Sie eine Private Message an archtools  Schreiben Sie einen Gästebucheintrag für archtools

Beiträge: 823
Registriert: 09.10.2004

Entwickler für AutoCAD, BricsCAD u.a., alle Systeme

erstellt am: 25. Feb. 2011 00:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Theodor Schoenwald 10 Unities + Antwort hilfreich

  
Zitat:
Original erstellt von CAD-Huebner:
Minimal 0
maximal so viele wie in den Speicher passen
Mehr als 1Mio hatte ich auf jeden Fall schon in einer Liste.

Probier mal (progn (setq test (sequence 1 10000000)) (prin1))

Das baut Dir eine Liste aus 10 Millionen Elementen und sollte vielleicht 10 Sekunden dauern. Aber versuche nicht, Dir die Liste auf dem Bildschirm ausgeben zu lassen, wenn Du heute noch was auf dem Rechner machen willst :-)

Diese Commonlisp-Funktion ist sehr hilfreich für die Konstruktion von FOREACH Schleifen, in denen man einen Zähler durchlaufen lassen muss. Beispielsweise um jedes Element eines Auswahlsatzes sset anzusprechen:
(foreach n (sequence 0 (1- (sslength sset)))
  (setq en (ssname sset n))
  ...
)

Code:

(defun sequence (start end / tempend result)
  (if (AND (numberp start)
  (numberp end)
      )
    (progn
      (cond
((< start end)
(setq tempend start
      result  (list start)
)
(while (<= 1 (- end tempend))
  (setq tempend (1+ tempend))
  (setq result (cons tempend result))
)
)
;;
((< end start)
(setq tempend end
      end    start
      start  tempend
      result  (list start)
)
(while (<= 1 (- end tempend))
  (setq tempend (1+ tempend))
  (setq result (cons tempend result))
)
(setq result (reverse result))
)
;;
((= end start)
(setq result (list start))
)
;;
      )
    )
    (progn
      (alert
"error in SEQUENCE:\n\nSTART and END must be numbers!"
      )
    )
  )
  (reverse result)
)


[Diese Nachricht wurde von archtools am 25. Feb. 2011 editiert.]

[Diese Nachricht wurde von archtools am 25. Feb. 2011 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 25. Feb. 2011 12:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

mich wundert es, dass es so viele sind, ich hatte etwas in Erinnerung von einigen Tausend.
Umso besser.

Mein nächster Schritt wäre gewesen, ein Tool zu machen um die Grenze zu testen.
Das bekam ich jetzt mit der @archtools-Antwort serviert.

Danke, viele Grüße

Theodor Schönwald

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz