CADsite forum

AutoCAD => Autolisp => Topic gestart door: roy_043 op do 18 06 2009, 14:36:25

Titel: STANDAARD lisp-functie om een list van strings aan elkaar te plakken? (OPGELOST)
Bericht door: roy_043 op do 18 06 2009, 14:36:25
Beste forumleden,

Ik meen mij te herinneren dat er een STANDAARD lisp-functie is om een list van strings aan elkaar te plakken. Maar welke is dat ook alweer? Of haal ik dingen door elkaar?

Groet, Roy.
Titel: Re:STANDAARD lisp-functie om een list van strings aan elkaar te plakken?
Bericht door: HofCAD op do 18 06 2009, 15:34:40
Citaat van: roy_043 op do 18 06 2009, 14:36:25
Beste forumleden,

Ik meen mij te herinneren dat er een STANDAARD lisp-functie is om een list van strings aan elkaar te plakken. Maar welke is dat ook alweer? Of haal ik dingen door elkaar?

Groet, Roy.

Beste Roy,

Er is geen  STANDAARD lisp-functie is om een list van strings aan elkaar te plakken.
Er is er wel een om twee strings aan elkaar te plakken:
strcat
Returns a string that is the concatenation of multiple strings
(strcat [string[string]...])
Arguments string: A string.
Return Values: A string.
If no arguments are supplied, strcat returns a zero-length string.
Maar:
(defun strlist->str (LiStr / Str MLiStr)
 (setq Str "")
 (foreach MLiStr LiStr
   (progn
     (setq Str (strcat Str MLiStr))
   )
 )
)

(strlist->str '("0" "1" "2" "3" "4" "5"))

Met vriendelijke groet, HofCAD CSI.
Titel: Re:STANDAARD lisp-functie om een list van strings aan elkaar te plakken?
Bericht door: roy_043 op do 18 06 2009, 17:58:45
Beste HofCAD,

Bedankt. Ik had zelf al iets vergelijkbaars bedacht:


;;; ...
;;; LET OP: lisp-segment:
(setq
intNamesLst (car (BasicBlockListNamesIntListNamesExt)) ; intNamesLst bevat lijst met namen van niet-xref-blocks
intNamesStr (nth 0 intNamesLst)
i 1
)
(repeat (- (length intNamesLst) 1)
(setq
intNamesStr (strcat intNamesStr "," (nth i intNamesLst))
i (1+ i)
)
)
;;; ...


Groet, Roy.
Titel: Re:STANDAARD lisp-functie om een list van strings aan elkaar te plakken?
Bericht door: roy_043 op ma 22 06 2009, 16:53:34
Citaat van: roy_043 op do 18 06 2009, 14:36:25Of haal ik dingen door elkaar?
Waarschijnlijk zat ik aan de JavaScript methode JOIN te denken.

Groet, Roy.