Hi All, I know now that helper v
passes v into 2nd lambda. On Thu, Jun 2, 2011 at 6:11 AM, Yingjian Ma <yingjian.ma1...@gmail.com>wrote: > Hi Jos and ALL, > > The code is from website > > http://stackoverflow.com/questions/4175626/scheme-recursion-error > > I modified it. It is not about homework. I am learning and evaluating > Racket. > > I use Language: racket; memory limit: 128 MB in DrRacket. > > The error I get is > > > (test 'a '(b a c a)) > . . procedure application: expected procedure, given: '(b a c a) (no > arguments) > > I found the problem. I should use > > helper v > > not > > helper (v) > > Here is another question. In (lambda (ls), it seems ls took the value > from v. How does Racket know not pass x to ls as the argument? Does it > alway takes the right variable? What happens if the first lambda has 3 > parameters and the 2nd lambda has 2 parameters? > > Also, I want code to keep all the letters that is not a. It does not work > for > (test 'a #(b c a b a d)). The result is '(c b). If you know how to > generalize it, please let me know. > > Thanks a lot. > > > On Thu, Jun 2, 2011 at 4:10 AM, Jos Koot <jos.k...@telefonica.net> wrote: > >> Whast you describe seems correct. >> How about showing me yoyur code after deleting vector->list? >> >> If this is HOMEWORK, send it OFF LIST. >> >> What language did you use? >> >> Jos >> >> ------------------------------ >> *From:* users-boun...@racket-lang.org [mailto: >> users-boun...@racket-lang.org] *On Behalf Of *Yingjian Ma >> *Sent:* 02 June 2011 08:45 >> *To:* users@racket-lang.org >> *Subject:* [racket] please help to change vector to list >> >> Hi ALL, >> >> I have this code >> >> (define test >> (lambda (x v) >> (define helper >> (lambda (ls) >> (cond >> ((empty? ls) '()) >> ((empty? (rest ls)) '()) >> ((equal? (second ls) x) (cons (first ls) (helper (rest >> ls)))) >> (else (helper (rest ls)))))) >> (helper (vector->list v)))) >> >> When I run it with >> > (test 'a #(b a c a)) >> it returns >> '(b c) >> >> Is there a way to use the list such as (test 'a '(b a c a))? I tried to >> delete vector->list from the last line of the code, but it did not work. >> Why? >> >> Thanks a lot >> >> >
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users