[Haskell-beginners] Re: mayBe stuck
prad
prad at towardsfreedom.com
Thu Aug 5 22:07:13 EDT 2010
On Fri, 06 Aug 2010 02:44:26 +0200
Jürgen Doser <jurgen.doser at gmail.com> wrote:
> For practice purposes, in particular for getting used to recursion, it
> might also be useful to write the function without any help of library
> functions, traversing the string using direct recursion only. For
> every character you encounter, what do you have to do in each case?
>
you are a good teacher, jurgen!
here's what i came up with:
br [] = []
br ss = fst (tup) : br (tail (snd tup))
where
tup = break eqD ss
now this works great for
let s = "zaoeu%aeuasnt%staashaeu%nthdanoe%nthd%"
but i get a
*** Exception: Prelude.tail: empty list
i found a neat way to explore recursion on ghci like this
Prelude> let s = "aoeu%snthi%ashuet"
Prelude> break (=='%') s
("aoeu","%snthi%ashuet")
Prelude> break (=='%') (tail (snd it))
("snthi","%ashuet")
Prelude> break (=='%') (tail (snd it))
("ashuet","")
Prelude> break (=='%') (tail (snd it))
*** Exception: Prelude.tail: empty list
of course this is the problem i'm having in that i'm forced to take the
tail of an empty list at the end. correcting it by sticking on a
delimiter doesn't seem to be the right thing to do though. so there
must be another way to deal with this. hmmm.
--
In friendship,
prad
... with you on your journey
Towards Freedom
http://www.towardsfreedom.com (website)
Information, Inspiration, Imagination - truly a site for soaring I's
More information about the Beginners
mailing list