<div dir="ltr">Hello,<div><br></div><div>Can anyone please tell me how to process all the files in a directory.<div><br></div><div>This is what I am doing:</div><div><br></div><div>(check-progs (directory-list &quot;/home/racket/progs&quot;))</div>
<div><br></div><div><div>(define (check-progs flist)</div><div>  (if(list? flist)</div><div>     (if(null? (cdr flist))</div><div>        &#39;()</div><div>        (check-progs (cdr flist)))</div><div>     (process (simple-form-path (car flist)))))</div>
<div><br></div><div><br></div><div><div>(define (process path)</div><div>  (local-require path)</div><div>  (local-require rackunit)</div><div>  (check-equal? (twice 2) 4)</div><div><br></div><div>Thanks in advance.</div>
<div>Colum</div></div><br><div class="gmail_quote">On Tue, Sep 28, 2010 at 5:13 PM, Deren Dohoda <span dir="ltr">&lt;<a href="mailto:deren.dohoda@gmail.com">deren.dohoda@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;">
Colum, what you&#39;re looking for, I believe, is local-require.<br>
<div><div></div><div class="h5"><br>
On Tue, Sep 28, 2010 at 5:07 PM, A Z &lt;<a href="mailto:ukbc57@gmail.com">ukbc57@gmail.com</a>&gt; wrote:<br>
&gt; Hello,<br>
&gt;<br>
&gt; There is a problem. &#39;require&#39; does not go inside the definition of a<br>
&gt; function. DrRacket complains that it needs to go in a module.<br>
&gt;<br>
&gt; I need (require path) inside a function because I want to run functions from<br>
&gt; each .rkt file in a directory. I can write (require &quot;file.rkt&quot;) for each of<br>
&gt; the file at the top, but that does not look good.<br>
&gt;<br>
&gt; Thanks everyone.<br>
&gt; Colum<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Sep 28, 2010 at 12:32 AM, John Clements &lt;<a href="mailto:clements@brinckerhoff.org">clements@brinckerhoff.org</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On Sep 27, 2010, at 3:35 PM, A Z wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; Hello Horace,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I thank you for patiently explaining me how to run racket from command<br>
&gt;&gt; &gt; line.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Actually, this is not exactly what I am looking for.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; What I want is a script file. Such that I can test the modules of the<br>
&gt;&gt; &gt; program from command prompt.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Something like<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; *******<br>
&gt;&gt; &gt; #!/bin/bash<br>
&gt;&gt; &gt; racket -f &quot;file.rkt&quot;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; racket (twice 2)<br>
&gt;&gt; &gt; *******<br>
&gt;&gt;<br>
&gt;&gt; Ah! Caught.<br>
&gt;&gt;<br>
&gt;&gt; Okay, you want a file that tests another file.  The easy way to do this is<br>
&gt;&gt; not to dip into shell programming at all, but to write your script as<br>
&gt;&gt; another racket program.  For the example you provide:<br>
&gt;&gt;<br>
&gt;&gt; ****<br>
&gt;&gt; #lang racket<br>
&gt;&gt;<br>
&gt;&gt; (require &quot;file.rkt&quot;)<br>
&gt;&gt; (require rackunit)<br>
&gt;&gt;<br>
&gt;&gt; (check-equal? (twice 2) 4)<br>
&gt;&gt; *****<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Then just run this file from the command-line.  If it were called<br>
&gt;&gt; &#39;tests.rkt&#39;, you could run it as<br>
&gt;&gt;<br>
&gt;&gt; racket tests.rkt<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; John Clements<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
</div></div><div><div></div><div class="h5">&gt; _________________________________________________<br>
&gt;  For list-related administrative tasks:<br>
&gt;  <a href="http://lists.racket-lang.org/listinfo/users" target="_blank">http://lists.racket-lang.org/listinfo/users</a><br>
&gt;<br>
</div></div></blockquote></div><br></div></div></div>