Hallo!
Wenn ich eine Variablenfunktion in der Form aufrufe, das getint oder getstring abgefragt werden soll, wie kann ich einschliessen das auch Leerzeichen bei getstring enthalten sein können ?
Code:
(getstring "Anzeige " T)
nützt in meinem Falle nichts oder müsste umgeformt werden
Die Funktion stammt aus eineren früheren Beitrag von reltro, leider wusste ich nicht mehr wo der liegt.
Code:
(defun abfrage (txt ; Kommentarzeile für die Abfrage
default; Anzeigewert
/ get-x Out)
(setq get-x
(cond
((= (type default) 'STR) getstring)
((= (type default) 'INT) getint)
)
)
(if get-x
(if (and
(setq Out (get-x (strcat "\n" txt " <"(vl-princ-to-string default) ">: ")))
(not (= Out ""))
)
Out
default
)
)
)
Was ich äusserst raffiniert an dem Schnipsel finde, dass hier get-x zwar als eine Variable definiert ist, aber gleichzeitig eine Funktion ausführt.
Der Ausführungsprozess ist mir unklar, wie es plötzlich möglich ist (get-x) als Funktion aufzurufen, obwohl nirgends ein defun gesetzt wurde.
Ich habe schon eine Weile rumgetüfftelt, aber nicht schlauer geworden.
Code:
(setq get-x ... (getstring))
ist nicht so ausführbar
Code:
(get-x)
Wo liegt mein Denkfehler?
------------------
Gruss Dirk
http://cadplayerlounge.blogspot.se
[Diese Nachricht wurde von cadplayer am 10. Jan. 2014 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP