| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: setq aus zusammengesetzten Zeichen (670 mal gelesen)
|
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 238 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 26. Mai. 2019 10:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Lispler, gibt es eine Möglichkeit ein setq zusammenzusetzen in der Form: (setq LL_Reiter+01) -> (setq LL_Reiter01 "Wert1") (setq LL_Reiter+02) -> (setq LL_Reiter02 "Wert2") wobei 01 und 02 aus einem String stammen. ------------------ Danke Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 238 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 26. Mai. 2019 11:19 <-- editieren / zitieren --> Unities abgeben:
hier mein Ergebnis (setq i '("01" "02" "03" "04" "05" "06" "07" "08" "09" "10")) (mapcar '(lambda (x) (set (read (strcat "LL_Reiter" x)) "Wert") ) i ) !LL_Reiter01 !LL_Reiter02 !LL_Reiter03 !LL_Reiter04 !LL_Reiter05 !LL_Reiter06 !LL_Reiter07 !LL_Reiter08 !LL_Reiter09 !LL_Reiter10 ------------------ Danke Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
spider_dd Mitglied
Beiträge: 1111 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 27. Mai. 2019 08:37 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Hallo Stefan, so wie Du die Sache jetzt gelöst hast, funktioniert das natürlich, habe ich in früheren lisps von mir auch ähnlich gemacht. Jetzt kommt keine "Meckerei" sondern nur mal ein Hinweis: Ich weiß ja nicht, worauf es hinauslaufen soll, aber könnte die Nutzung einer Liste LL_Reiter mit den Elementen (wert_ll_reiter01, wert_ll_reiter02, ...) nicht einfacher sein? So wie jetzt musst Du immer wieder den Variablennamen LL_Reiterxx bauen, um dann auf den entsprechenden Wert zuzugreifen. In der Liste wäre es einfach (nth xx LL_Reiter). Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1356 Registriert: 11.01.2006 WIN 10 ACAD 2022
|
erstellt am: 27. Mai. 2019 09:11 <-- editieren / zitieren --> Unities abgeben: Nur für cadking
Hallo cadking, ich arbeite auch lieber mit Listen, allerdings mit assoziativen. Damit spare ich mir alle Sortierarbeit und kann gezielt auf den gewünschten Eintrag zugreifen ohne wissen zu müssen der wievielte Eintrag das jetzt ist. Auch für Erweiterungen ist das praktisch weil man in die Liste einfach alles reinschreiben kann auch wenn es von manchen Programmteilen nicht verwendet wird. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |