newLISP Fan Club

Forum => Anything else we might add? => Topic started by: Dmi on November 25, 2005, 12:41:06 AM

Title: truncate from the end of list/string
Post by: Dmi on November 25, 2005, 12:41:06 AM
Can't find a simple way for truncating from the end of the list.

In general:



(set 's "abcdefg")

(2 s) => "cdefg"

(-2 s) => "fg"



But, if I want to truncate a number of symbols from the end:



(truncate-2-symbols s) => "abcde"



then I must count the string's length before.

The same situation is for the list's contents...

Is there a simple solution?
Title:
Post by: newdep on November 25, 2005, 02:40:38 AM
do you mean this perhpas?



(reverse ( 2 (reverse "hello")))

>"hel"
Title:
Post by: Dmi on November 25, 2005, 02:54:38 AM
Something like that :-)

Thanx.
Title:
Post by: Lutz on November 25, 2005, 05:14:23 AM
and there is also 'chop' with the number of chars/elements to chop:



(chop "abcdefg" 2) => "abcde"



(chop '(a b c d e f g) 2) => (a b c d e)



Lutz
Title:
Post by: Dmi on November 25, 2005, 01:09:36 PM
Thanks, Lutz!