* adding a string to every element in a list
@ 2008-11-17 5:51 Matt Price
2008-11-17 6:06 ` Matthew Flaschen
2008-11-17 6:54 ` Drew Adams
0 siblings, 2 replies; 5+ messages in thread
From: Matt Price @ 2008-11-17 5:51 UTC (permalink / raw
To: help-gnu-emacs
hi,
it's not obvious to me how i would do something as simple as iterating
through the elements of a list, modifying each element in hte same way.
so in python i would have a list:
mylist = ["a" "silly" "list"]
for element in mylist:
element += ADD
and the new list would be ["aADD" "sillyADD" "listADD"]
i'm making a list of vcards from a string containing many vcards:
(let
((matches (split-string (shell-command-to-string
(concat "/home/matt/mutt-eds-query " namestring)) "^END:VCARD" t)))))
but unfortunately i need to retain the seperator string, so i want to
iterate over each element of the list, changing each element. i have no
doubt this is trivial in lisp, but my documentation searches always take
me back to cons, car, and cdr, which don't seem like the easiest tools
for this task, though maybe it's just that i don't really understan
recursion...
thanks again,
matt
--
Matt Price
matt.price@utoronto.ca
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: adding a string to every element in a list
2008-11-17 5:51 adding a string to every element in a list Matt Price
@ 2008-11-17 6:06 ` Matthew Flaschen
2008-11-18 18:03 ` Matt Price
2008-11-17 6:54 ` Drew Adams
1 sibling, 1 reply; 5+ messages in thread
From: Matthew Flaschen @ 2008-11-17 6:06 UTC (permalink / raw
To: Matt Price, emacs
Matt Price wrote:
> i have no doubt this is trivial in lisp, but my documentation searches always take
> me back to cons, car, and cdr, which don't seem like the easiest tools
> for this task, though maybe it's just that i don't really understan
> recursion...
Just use mapcar, and it will handle the recursion:
(setq list (list "dog" "cat" "fish"));
(mapcar (lambda (arg) (concat arg "food")) list)
Matt Flaschen
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: adding a string to every element in a list
2008-11-17 6:06 ` Matthew Flaschen
@ 2008-11-18 18:03 ` Matt Price
2008-11-18 18:16 ` Drew Adams
0 siblings, 1 reply; 5+ messages in thread
From: Matt Price @ 2008-11-18 18:03 UTC (permalink / raw
To: Matthew Flaschen; +Cc: emacs
thanks matt,
i don't know why this didn't occur to me -- i was hung up on modifying
the original list, i guess, not thinking i could just create a new one.
anyway thanks to you and to drew, who also replied.
matt
On Mon, 2008-11-17 at 01:06 -0500, Matthew Flaschen wrote:
> Matt Price wrote:
> > i have no doubt this is trivial in lisp, but my documentation searches always take
> > me back to cons, car, and cdr, which don't seem like the easiest tools
> > for this task, though maybe it's just that i don't really understan
> > recursion...
>
> Just use mapcar, and it will handle the recursion:
>
> (setq list (list "dog" "cat" "fish"));
> (mapcar (lambda (arg) (concat arg "food")) list)
>
> Matt Flaschen
--
Matt Price
matt.price@utoronto.ca
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: adding a string to every element in a list
2008-11-17 5:51 adding a string to every element in a list Matt Price
2008-11-17 6:06 ` Matthew Flaschen
@ 2008-11-17 6:54 ` Drew Adams
1 sibling, 0 replies; 5+ messages in thread
From: Drew Adams @ 2008-11-17 6:54 UTC (permalink / raw
To: 'Matt Price', 'help-gnu-emacs'
> it's not obvious to me how i would do something as simple as iterating
> through the elements of a list, modifying each element in hte
> same way. mylist = ["a" "silly" "list"]
> and the new list would be ["aADD" "sillyADD" "listADD"]
C-h f mapcar
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-11-18 18:16 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-17 5:51 adding a string to every element in a list Matt Price
2008-11-17 6:06 ` Matthew Flaschen
2008-11-18 18:03 ` Matt Price
2008-11-18 18:16 ` Drew Adams
2008-11-17 6:54 ` Drew Adams
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.