[racket] [htdp] Help with Exercise 12.4.2
Isn't that too much help?
On Jul 6, 2010, at 6:46 PM, David Yrueta wrote:
> my base case the function should return a
> list of words but before returned a single word.
>
> Very good decision. Now take a close look at how you phrased the second condition. According to the design recipe, it should be structured to match the second condition of your data definition for list-of-words. Does it?
>
>
> (define (insert-everywhere/in-single-word s w)
> (cond
> [(empty? w) (list s)]
> [else (list (list s (first w)) (cons (first w)
> (insert-everywhere/in-single-word s (rest w))))]))
>
>
>
>
> On Tue, Jul 6, 2010 at 3:14 PM, Sam Griff <sgriff89 at gmail.com> wrote:
> > Exercise 12.4.2 is notorius. When looking to (list 'a 'b 'c), you should
> > exspect 6 distinct permutations.
> > Jos
>
> Thanks for your response but that really doesn't help me much. I'm
> focusing on insert-everywhere/in-single-word now. I understand what
> arrangements does
> and what permutations to expect.
>
> > My first suggestion is to check the function examples to make sure the values they expect are consistent with your data definitions.
>
> Can you explain please? I'm not sure I fully understand. The only
> thing I could see was in my base case the function should return a
> list of words but before returned a single word. Is that what you
> mean?
>
> (define (insert-everywhere/in-single-word s w)
> (cond
> [(empty? w) (cons (cons s empty) empty)]
> [else ... (first w) ... (insert-everywhere/in-single-word s (rest w))]))
>
> > Amen.
> >
> > -- Make sure you truly understand list vs cons. If you have any doubts,
> > stick to cons.-- For your template, spell out what each expression produces
> > before you finish the definition.-- Use the examples, especially the ones
> > that fail.-- Figure out what you need to combine the pieces.-- Ideally,
> > arrange the thing in a table:
> > input | (first input) | .... | recursive result | expected result
> >
> > and keep adding examples until it clicks: i.e., until you know how to
> > combine recursive result with some other things to get the expected result.
> >
> > And do stick to the design recipe all the way down.
>
> Thanks! I will try those suggestions and see if they help.
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/users
>
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20100707/bb2187f6/attachment.html>