On Wed, Nov 16, 2016 at 11:10 AM, David Storrs <[email protected]>
wrote:

> Hi Meino,
>
> As a suggestions, you might want to read through this page on Stack
> Overflow about how to ask technical questions:
> http://stackoverflow.com/help/how-to-ask   The summary is:  tell us what
> you're trying to achieve, what you've tried, and what *specifically* is not
> working.
>
> The question you're asking here (about walk-lists) is hard to help with,
> because it's not clear what the context is.  I'll take my best shot, though:
>
> On Wed, Nov 16, 2016 at 10:04 AM, <[email protected]> wrote:
>
>> Hi John,
>>
>> thank you for your reply ! :)
>>
>> ...no, not a homework...
>> I want to teach myself some racket and hope 'to get it' finally...
>> Since I am no native speaker I have the deficulty to search for
>> things, which names I dont know...
>>
>> One example of my code is:
>>
>> (define (trim-list lst)
>>   (if (empty? lst)
>>     lst
>>     (cons (string-trim (car lst)) (trim-list (cdr lst)))))
>>
>>
>> (define (walk-sublists lst)
>>   (if (empty? lst)
>>     lst
>>     (cons (trim-list (car lst)) (walk-sublists (cdr lst)))))
>>
>> I want to avoid to call trim-list, if 'car lst' returns an empty list.
>> Instead 'car lst' sghould return the next non-empty list...
>>
>> I will take a look in the reference manual for 'filter' and 'compose'.
>>
>> Cheers
>> Meino
>>
>>
>>
> You might try something like this:
>
> (define (trim-list lst)
>   (if (empty? lst)
>     lst
>     (cons (string-trim (car lst))
> (trim-list (cdr lst)))))
>


Dangit, GMail, hitting 'tab, space' does not necessarily mean I want to
send, it might just mean I want to indent some code.  Sorry for that, all.


(define (trim-list lst) ...)

;;  process a list, but skip any element of the list that is null
(define (walk-sublists lst)
   (cond    [(null? lst) null]
                [(null? (car lst)) (walk-lists (cdr lst))]
                [else (cons (trim-list (car lst))
                                  (walk-sublists (cdr lst))))]))

Code not tested, but let me know if it makes sense.


Dave


>>
>>
>> 'John Clements' via Racket Users <[email protected]>
>> [16-11-16 18:26]:
>> >
>> > > On Nov 15, 2016, at 19:52, [email protected] wrote:
>> > >
>> > > Hi,
>> > >
>> > > I have a list of sublists. Some of the sublists are empty.
>> > > The list should be processed recursevly and the resulting
>> > > list should no longer contain empty sublists.
>> >
>> > Is this homework?
>> >
>> > if so: can you show your test cases?
>> >
>> > if not: (filter (compose not null?) l).
>> >
>> >
>> > John Clements
>> >
>> > >
>> > > The code I have so far looks like:
>> > >
>> > > (define (step-through-list lst)
>> > >    (if (empty? lst)
>> > >    lst
>> > >    (cons (process-sublist (car lst)) (step-through-list (cdr lst)))
>> > >
>> > > ....but "car" would feed empty sublists to process-sublist as any
>> other
>> > > sublist. How can I "silently" skip empty sublists and even get out of
>> > > the recursion without harm (if the last sublist is empty) without
>> > > switching to iteration?
>> > > Is there something like "car-not-empty" ? ;)
>> > > Or do I oversee the obvious here...? ;)))
>> > >
>> > > Thank you vary much for any help in advance!
>> > > Cheers
>> > > Meino
>> > >
>> > >
>> > > --
>> > > You received this message because you are subscribed to the Google
>> Groups "Racket Users" group.
>> > > To unsubscribe from this group and stop receiving emails from it,
>> send an email to [email protected].
>> > > For more options, visit https://groups.google.com/d/optout.
>> >
>> >
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups "Racket Users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an email to [email protected].
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Racket Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to