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.
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.
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.
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.