Hello All,
When the string function is applied to a list, it returns a literal list. See code below.
(string '("a" "b" "c"))
This returns: ("a" "b" "c")
I expected it to return: "abc"
Is this working as intended? If so, is there another function that will return a string without the parens and quotes?
Thanks,
-S
It is intended. See //http://www.newlisp.org/downloads/newlisp_manual.html#string
Quote
Translates into a string anything that results from evaluating exp-1—. If more than one expression is specified, the resulting strings are concatenated.
(string 'hello) → "hello"
(string 1234) → "1234"
(string '(+ 3 4)) → "(+ 3 4)"
(string (+ 3 4) 8) → "78"
(string 'hello " " 123) → "hello 123"
I suggest using apply as follows:
> (apply string '("a" "b" "c"))
"abc"
Hi,
Works perfectly. Thanks.
-S
Hi,
//http://www.newlisp.org/downloads/newlisp_manual.html#join
> (set 'MYLIST '("a" "b" "c"))
("a" "b" "c")
> (join MYLIST)
"abc"
> (join MYLIST "-")
"a-b-c"
> (join MYLIST (string "-" (join MYLIST) "-"))
"a-abc-b-abc-c"