Okay since it is not meaning what I want it to mean, what is is actually meaning right now? ________________________________________ From: danny....@gmail.com [danny....@gmail.com] on behalf of Danny Yoo [d...@hashcollision.org] Sent: Monday, September 17, 2012 3:18 PM To: Ashley Fowler Cc: users@racket-lang.org Subject: Re: [racket] Delete Second
On Mon, Sep 17, 2012 at 12:54 PM, Ashley Fowler <afowl...@broncos.uncfsu.edu> wrote: > Okay I understand. I made some changes > > (define delete-second2 > (lambda(ls) > (if(< (length ls) 1) (append(list(car ls))(cdr(cdr ls))) > (list(car ls))))) > > it works for when I do the following tests: > > (delete-second2 '(3 7)) ==> (3) > (delete-second2 '(a b c d)) ==> (a c d) > > but it gives me a error for the tests: > > (delete-second2 '()) ==> () > (delete-second2 '(3)) ==> (3) Yup. The bugs you have now are "semantic". This is different from the syntax errors you were having earlier. The program you've written can finally run, but it does not mean what you want it to mean. I actually do not quite believe you when you say your test works on (delete-second2 '(a b c d)) Are you using check-expect to automatically check that the output matches the expected value? See: http://www.ccs.neu.edu/home/matthias/HtDP2e/part_one.html#(part._sec~3atesting) Just because a program runs without crashing doesn't mean it's actually computing a good value. :) ____________________ Racket Users list: http://lists.racket-lang.org/users