Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Programmierung
  LISP-Fehler: Cannot expand the SETF form (POSITION-IF #'NUMBERP ...

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 PTC CREO
Autor Thema:  LISP-Fehler: Cannot expand the SETF form (POSITION-IF #'NUMBERP ... (1354 mal gelesen)
holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 01. Dez. 2008 11:14    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,

ich bekomme beim Laden eines Lisp-Files immer folgende Fehlermeldung:

Code:
LISP-Fehler:
Cannot expand the SETF form (POSITION-IF #'NUMBERP (SD-INQ-OBJ-BASENAME VIEW) :KEY ...).

Was bedeutet die Meldung?
Kann es sein, dass die Funktion position-if im IKIT nicht implementiert ist?

------------------
Gruß aus dem Salzkammergut

Thomas

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 01. Dez. 2008 11:18    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 holt 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von holt:

Kann es sein, dass die Funktion position-if im IKIT nicht implementiert ist?


Nein, die ist drin, das muss was anderes sein 

------------------
meine LISP-Makros sind auf osd.cad.de
Disclaimer
Grüße aus Wien

Walter
DC4 Technisches Büro GmbH

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 01. Dez. 2008 11:26    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 holt 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von holt:
Was bedeutet die Meldung?

Dass im geladenen Lisp-File ein syntaktischer Fehler ist. Wenn Du uns den Code zeigst, können wir Dir vielleicht einen konkreteren Hinweis geben.

------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/

[Diese Nachricht wurde von clausb am 01. Dez. 2008 editiert.]

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 01. Dez. 2008 11:37    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

Ein Fehler?
Bei mir doch nicht!              

Im Ernst: Hier der Code um den es geht:

Code:

(decf (position-if  #'numberp "Test123" :key #'(lambda (zchn) (oli:sd-read-from-string (format nil "~a" zchn)))))


Ich möchte damit die Position der ersten Ziffer ermitteln und um 1 erniedrigen.

Edit: Das war zu wenig Code, decf verursacht offensichtlich das Problem.

------------------
Gruß aus dem Salzkammergut

Thomas

[Diese Nachricht wurde von holt am 01. Dez. 2008 editiert.]

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 01. Dez. 2008 11:47    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

Ich habe den Fehler gefunden!

Das kann gar nicht funktionieren, da decf den übergebenen Wert verändert und nicht den Rückgabewert. 

------------------
Gruß aus dem Salzkammergut

Thomas

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 01. Dez. 2008 14:54    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 holt 10 Unities + Antwort hilfreich

  
Zitat:
Original erstellt von holt:
Das kann gar nicht funktionieren, da decf den übergebenen Wert verändert und nicht den Rückgabewert.

Weil nämlich decf (wie incf) ein Lisp-Makro ist. Aus der Common-Lisp-Dokumentation:
  

Zitat:

  decf place [delta]

  The delta is ... subtracted from the number in place
  and the result is stored in place.


Der erste Parameter für decf muss also einen Platz bezeichnen, an dem das berechnete Ergebnis von decf wieder abgespeichert werden kann.

In Deinem Fall sinnvoller: 1-.


------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/

[Diese Nachricht wurde von clausb am 01. Dez. 2008 editiert.]

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

holt
Mitglied
Systembetreuer CAD


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

Beiträge: 713
Registriert: 07.08.2003

Corei7 3770K, Win7-64, 16GB
PNY Quadro 2000K
CoCreate Modeling 18.10
CoCreate Drafting 18.10
CoCreate ModelManager 18.10

erstellt am: 01. Dez. 2008 15:15    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 Claus,

nachdem ich den Fehler entdeckt hatte (mithilfe der Common-Lisp-Dokumentation) habe ich das mit dem Makro schon vermutet.
Trotzdem danke, denn jetzt weiß ich es. 

Zitat:
Original erstellt von clausb:
In Deinem Fall sinnvoller: 1-.

Halleluja! Was es alles gibt!

Danke!

------------------
Gruß aus dem Salzkammergut

Thomas

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

clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 01. Dez. 2008 15:53    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 holt 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von holt:
nachdem ich den Fehler entdeckt hatte (mithilfe der Common-Lisp-Dokumentation) habe ich das mit dem Makro schon vermutet.

In der Tat, wer wie Du mit Lambdas um sich wirft, dem muss ich sowas nicht erzählen  War eher fürs (jetzt und später) mitlesende Publikum gedacht.

------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/

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

der_Wolfgang
Ehrenmitglied V.I.P. h.c.
Tastenhauer


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

Beiträge: 2017
Registriert: 3.20.

● PE60+80@home
● W10 Pro Build19044.2364
● Drafting V17~V20.5.1
● Modeling V17~V20.5.1

erstellt am: 01. Dez. 2008 19:32    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 holt 10 Unities + Antwort hilfreich

 
Zitat:
Original erstellt von holt:
Das kann gar nicht funktionieren, da den übergebenen Wert verändert

Code:
(trace decf position-if numberp)
;; verdaechtiger code
(untrace decf position-if numberp)
liefert häufig erkenntniss WO es rumpeltt . Also ein gezieltes, dann aber intensives trace'n der verwendeten Funktionen.

.... wobei man LISP Macros in CoCreate Modeling nicht tracen kann. Aber das sieht man (wie im obigen Fall) dann auch sehr schnell im Konsolenfenster.  Und 'weh' tut der nicht funktionierende trace auch nicht (Ausserdem baut man das ja auch nur vorübergehend ein).

------------------
Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en)NotePad++

[Diese Nachricht wurde von der_Wolfgang am 01. Dez. 2008 editiert.]

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



Technischer Systemplaner - CAD / TGA / Bauzeichnung (m/w/d)
Wir sind mit über 500 Mitarbeiterinnen und Mitarbeitern der größte herstellerunabhängige Kälteanlagenbauer in Deutschland. Mit fundierten Erfahrungen bei Planung, Lieferung, Montage und Service von kälte- und klimatechnischen Systemen liefern wir Kälte nach Maß und Klima nach Bedarf. Von der Einzelanlage bis zum hochkomplexen Anlagenkonzept legen wir besonderen Wert auf energieoptimierte und umweltfreundliche Konzepte....
Anzeige ansehenTechnischer Zeichner, Bauzeichner
clausb
Ehrenmitglied V.I.P. h.c.



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

Beiträge: 2914
Registriert: 20.12.2000

Ich schreibe das hier in meiner Freizeit und spreche weder für meinen Arbeitgeber noch für andere Firmen. Mehr Unsinn von mir unter clausbrod.de.

erstellt am: 01. Dez. 2008 21:32    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 holt 10 Unities + Antwort hilfreich

Bzzzt. 

decf kann man zumindest in der Lisp-Implementierung von CoCreate Modeling nicht mit (trace) verfolgen. Aber zum Glück reicht in diesem Fall zur Klärung ja auch ein flüchtiger Blick in ein beliebiges Common-Lisp-Buch oder in die CL-Spezifikation.

  Claus


------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/

[Diese Nachricht wurde von clausb am 02. Dez. 2008 editiert.]

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