| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Mapcar Befehlsname in Variable (578 mal gelesen)
|
Gerd_Ecke Mitglied Bergbauingenieur
Beiträge: 141 Registriert: 28.08.2002 Civil 3D 2020, GeoCAD BricsCAD 18
|
erstellt am: 18. Feb. 2016 09:02 <-- editieren / zitieren --> Unities abgeben:
Hallo Mitstreiter, ich knabbere am Problem mapcar den aufzurufenden Befehl in einer Variablen zu übergeben. so etwa :
Code:
(defun Test ( / ) (setq fkt "Testfkt") (mapcar 'fkt '(1 2 3)) )(defun Testfkt (Va / ) (print (+ Va 2)) )
bringt aber immer ungültige Funktion. wer kann helfen ? MfG GE Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 18. Feb. 2016 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für Gerd_Ecke
Hallo Gerd, um Deine Frage (wer kann helfen?) korrekt zu beantworten: ich (und sicher auch ein paar andere, die hier im Forum unterwegs sind) Im Ernst: so geht's:
Code:
(defun Test ( / ) (setq fkt (eval(read"Testfkt"))) (mapcar 'fkt '(1 2 3)) )(defun Testfkt (Va / ) (print (+ Va 2)) )
Schau dir mal in der Hilfe an, was mit (read ..) und (eval ..) angestellt wird. Grüße! Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen.
defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
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: 18. Feb. 2016 09:21 <-- editieren / zitieren --> Unities abgeben: Nur für Gerd_Ecke
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 18. Feb. 2016 09:40 <-- editieren / zitieren --> Unities abgeben: Nur für Gerd_Ecke
|
Gerd_Ecke Mitglied Bergbauingenieur
Beiträge: 141 Registriert: 28.08.2002 Civil 3D 2020, GeoCAD BricsCAD 18
|
erstellt am: 18. Feb. 2016 09:46 <-- editieren / zitieren --> Unities abgeben:
|
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 23. Feb. 2016 15:17 <-- editieren / zitieren --> Unities abgeben: Nur für Gerd_Ecke
Zitat: Original erstellt von Gerd_Ecke: Danke an Brischke, Dein Beitrag ist die Lösung, da der Befehlsname als Zeichenkette vorliegt. Üs sind unterwegs, noch einen schönen Tag.
Nur zur Klarheit: das EVAL ist nicht nötig. (setq fkt (read "FUNKTIONSNAME")) reicht völlig aus (setq fktstr "PRINT") (setq fkt (read fktstr)) (mapcar fkt '(1 2 3)) oder natürlich gleich so: (mapcar (read fktstr) '(1 2 3))
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |