Higher order functions will be what you are looking for.  In this case - map and vector-map.  <div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><a href="http://docs.racket-lang.org/reference/pairs.html#(def._((lib._racket/private/map..rkt)._map))" target="_blank">http://docs.racket-lang.org/reference/pairs.html#(def._((lib._racket/private/map..rkt)._map))</a></div>

<div><br></div><div><a href="http://docs.racket-lang.org/reference/vectors.html#(def._((lib._racket/vector..rkt)._vector-map))" target="_blank">http://docs.racket-lang.org/reference/vectors.html#(def._((lib._racket/vector..rkt)._vector-map))</a></div>

</blockquote><div><br></div><div>Use map to iterate over the list of vectors, then use vector-map to iterate over the cells within the vectors to apply the regexp-replace* function. </div><div><br></div><div><div><span class="Apple-style-span" style="font-family: &#39;courier new&#39;, monospace; ">  (map (lambda (vector) </span></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">         (vector-map (lambda (cell) &lt;apply_proc_to_individual_cell ...&gt;) vector)) </font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">       &lt;your_list_of_vectors&gt;) </font></div>
<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div></div><div>HTH.  Cheers,</div>
<div>yc<br><br><div class="gmail_quote">On Mon, Oct 18, 2010 at 2:23 PM, scouic <span dir="ltr">&lt;<a href="mailto:scouic@gmail.com" target="_blank">scouic@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi all,<br>here more than three hours that i&#39;m locked on a function, i defer to you =)<br>My problem : i have a list of vectors, each vectors represents a text syntax (not html syntax, just text), and were created with the result of a format sqlite SELECT operation.<br>


<br>For example, my list of vectors L is like this :<br>(define L &#39;(#(&quot;nickname || &#39; ( &#39; || date || &#39; )&#39; || content&quot;) <br>            #(&quot;zobi ( Thursday, October 14th, 2010 12:40:51pm ) &lt;p&gt;try&lt;/p&gt;&quot;) <br>


            #(&quot;zf ( Thursday, October 14th, 2010 12:43:56pm ) (a ((href \&quot;foo.html\&quot;)) \&quot;sometext\&quot;)&quot;)<br>            #(&quot;zf2 ( Thursday, October 14th, 2010 12:44:59pm ) (a ((href \&quot;bar.html\&quot;)) \&quot;anotherone\&quot;)&quot;)))<br>


<br>So, (first L) is a vector, (second L) too, etc.<br>Now, i want to replace each string, for example &quot;Thursday&quot;, by &quot;&lt;&lt;Thursday&gt;&gt;&quot;, in my list of vectors.<br><br>I have created a function, wich i call like this :<br>


(rush! L  &#39;() &quot;Thursday&quot;)<br><br>this is the function :<br>(define (rush! T super-list a-string)<br>  (if (empty? T)<br>      super-list ;; here is the problem<br>      (rush! (rest T)<br>                 (append<br>


                  super-list<br>                  (list (regexp-replace* a-string (vector-ref (first T) 0) (string-append &quot;&lt;&lt;&quot; a-string &quot;&gt;&gt;&quot;))))<br>                 a-string)))<br><br>Now, if i compare L and (rush! L &#39;() &quot;Thursday&quot;), i have for L:<br>


&#39;(#(&quot;nickname || &#39; ( &#39; || date || &#39; )&#39; || content&quot;)<br>  #(&quot;zobi ( Thursday, October 14th, 2010 12:40:51pm ) &lt;p&gt;try&lt;/p&gt;&quot;)<br>  #(&quot;zf ( Thursday, October 14th, 2010 12:43:56pm ) (a ((href \&quot;foo.html\&quot;)) \&quot;sometext\&quot;)&quot;)<br>


  #(&quot;zf2 ( Thursday, October 14th, 2010 12:44:59pm ) (a ((href \&quot;bar.html\&quot;)) \&quot;anotherone\&quot;)&quot;))<br><br>and for the function :<br>&#39;(&quot;zobi ( &lt;&lt;Thursday&gt;&gt;, October 14th, 2010 12:40:51pm ) &lt;p&gt;try&lt;/p&gt;&quot;<br>


  &quot;zf ( &lt;&lt;Thursday&gt;&gt;, October 14th, 2010 12:43:56pm ) (a ((href \&quot;foo.html\&quot;)) \&quot;sometext\&quot;)&quot;<br>  &quot;zf2 ( &lt;&lt;Thursday&gt;&gt;, October 14th, 2010 12:44:59pm ) (a ((href \&quot;bar.html\&quot;)) \&quot;anotherone\&quot;)&quot;)<br>


<br>BUT it&#39;s not a list of vectors, it&#39;s a simple list ...<br>Instead of <br> (if (empty? T)  super-list ...<br>i&#39;ve tried (if (empty? T) (list-&gt;vector super-list) ... mamamia, it&#39;s no a list of vectors, but just a simple vector ...<br>


<br>I really don&#39;t know how i can replace a-string into a list of vectors so, because my rush! function doesn&#39;t works like i want ...<br><br>Thank you for your help,<br>-mw<br>
<br>_________________________________________________<br>
  For list-related administrative tasks:<br>
  <a href="http://lists.racket-lang.org/listinfo/users" target="_blank">http://lists.racket-lang.org/listinfo/users</a><br></blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br>yc<br><br>Taming the software dragon - <a href="http://dragonmaestro.com" target="_blank">http://dragonmaestro.com</a><br>

<br>
</div>