How do I a non-destructive replace? I've realised that my problem is:
(set 'new-filename (replace "." old-file-name "copy."))
- I've destroyed the old-file-name...
It seems wrong to make a safe copy beforehand.
Non-destructive replace?
-
- Posts: 2038
- Joined: Tue Nov 29, 2005 8:28 pm
- Location: latiitude 50N longitude 3W
- Contact:
Just wrap the old filename with anything which returns the filename:
even 'if', 'or', 'and' or 'begin' would work, but 'string' is more descriptive. Or using implicit 'slice'
Lutz
Code: Select all
> (set 'old "myfile.txt")
"myfile.txt"
> (replace "." (string old) ".copy.")
"myfile.copy.txt"
> old
"myfile.txt"
>
Code: Select all
(replace "." (0 old) ".copy.")
Lutz
-
- Posts: 2038
- Joined: Tue Nov 29, 2005 8:28 pm
- Location: latiitude 50N longitude 3W
- Contact:
Instead of a (string old) you could also use:
Fanda
Code: Select all
(set 'old) or (setq old)