|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung 
 | 
| Autor | Thema:  Problem mit mapcar (552 mal gelesen) | 
 | AB Mitglied
 
 
   
 
      Beiträge: 255Registriert: 24.05.2002
 Mechanical Desktop 6AutoCAD 2002
 |    erstellt am: 26. Mai. 2003 15:31  <-- editieren / zitieren -->    Unities abgeben:            
  Jetzt habe ich ein Problem mit mapcar:                             (setq Vektor '(               ((12 11 10) (9 8 7))     ; 1. Liste               ((6 5 4)(3 2 1))         ; 2. Liste               ) )       Jetzt sollen von den ersten x-y-z-Koordinaten aus der ersten Liste die ersten x-y-z-Koordinaten der zweiten Liste abgezogen werden und von den zweiten x-y-z-Koordinaten aus der ersten Liste, die zweiten ,...(12 11 10)        (9 8 7)
 -( 6  5  4)  und  -(3 2 1)
 => ((6 6 6)(6 6 6))
 Ich komme aber leider nur so weit:mapcar '- (caar Vektor)(caadr Vektor))
 (6 6 6)
 Die zweiten Teile der Liste werden nicht mehr berechnet.
 Wie lautet die Funktion richtig? Ich komme einfach nicht drauf 
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 26. Mai. 2003 15:37  <-- editieren / zitieren -->    Unities abgeben:           Nur für AB   
  Hallo Andrea, dann eben hier ;-) So sollte es gehen:(mapcar '(lambda (L1 L2)
 (mapcar '- l1 l2)
 )
 (list '(10 9 8) '(7 6 5))
 (list '(1 2 3) '(4 5 6))
 )
 ->((9 7 5) (3 1 -1))
 Bei Fragen ... Grüße Holger ------------------
 Holger Brischke
 CADlon - Lisp over night!
 Neue Tool's im Free-&Download
 Zugang zum Download schon gesichert?
 
  
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | mapcar Mitglied
 CADmin
 
 
  
 
      Beiträge: 1250Registriert: 20.05.2002
 Time flies like an arrow, fruit flies like a banana (Groucho Marx) |    erstellt am: 27. Mai. 2003 00:44  <-- editieren / zitieren -->    Unities abgeben:           Nur für AB   | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 27. Mai. 2003 08:30  <-- editieren / zitieren -->    Unities abgeben:           Nur für AB   
 Zitat:Original erstellt von mapcar:
 Probleme mit mapcar?
 Mit mapcar muss aber wirklich keiner einer Problem haben! *grien*
 [/code]
 [/B]
 
 Hallo mapcar, stimmt! - aber bei der Ergründung deiner Lösungen (manchmal) schon *grins*. Grüße Holger ------------------
 Holger Brischke
 CADlon - Lisp over night!
 Neue Tool's im Free-&Download
 Zugang zum Download schon gesichert?
 
  
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Dea Mitglied
 
 
   
 
      Beiträge: 155Registriert: 23.10.2002
 ACAD 2006, ACAD 2007ADT 2006 sp1
 |    erstellt am: 23. Jun. 2003 13:37  <-- editieren / zitieren -->    Unities abgeben:           Nur für AB   
  Eine späte Nachfrage noch zur Lösung (vorher bin ich nicht zum Durcharbeiten gekommen): Warum werden überall die gleichen Variablennamen genommen? Ich habe herumprobiert und mir ist (apply '(lambda (a b) (mapcar '(lambda (c d) (mapcar '- c d))a b)) v) dann leichter verständlich vorgekommen und es funktioniert auch. Da meine Lisp-Kenntnisse nicht so riesig sind weiss ich nicht ob die vielen u's und v's vielleicht doch einen Vorteil haben und wenn ja welchen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | Brischke Moderator
 CAD on demand GmbH
 
         
 
  
 
      Beiträge: 4201Registriert: 17.05.2001
 AutoCAD 20XX, defun-tools (d-tools.eu) |    erstellt am: 23. Jun. 2003 14:45  <-- editieren / zitieren -->    Unities abgeben:           Nur für AB   
  Hallo Dea, du kannst natürlich so viele Variablen vereinbaren, wie du gern möchtest. Schneller macht's das aber nicht.In diesem Fall gehts auch mit den 2en, da die Lambda-Funktion einen eigenen Namensraum hat. Warum also mit verschiedenen Variablen noch mehr Verwirrung stiften
  . Bei Fragen ... Grüße Holger ------------------Holger Brischke
 CADlon - Lisp over night!
 4 Neue Tool's im FreeDownload(gesamt 33)!?
 
   Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                       
| 
  
 |  | 
 | mapcar Mitglied
 CADmin
 
 
  
 
      Beiträge: 1250Registriert: 20.05.2002
 Time flies like an arrow, fruit flies like a banana (Groucho Marx) |    erstellt am: 24. Jun. 2003 11:12  <-- editieren / zitieren -->    Unities abgeben:           Nur für AB   |