PLEAC Erlang

Ulf Wiger <>
Thu Oct 18 09:59:56 CEST 2001


The time is long since past when all relevant communication about
Erlang could be done in Swedish.  ;-)

Anyway, the important stuff was of course the Erlang snippets:

EmailAtDomain = lists:dropwhile(fun($@) -> false; (_) -> true end,
"")
EmailName = lists:takewhile(fun($@) -> false; (_) -> true end,
"")
{EmailName, EmailAtDomain} = lists:splitwith(fun($@) -> false; (_) ->
true
end, "")

Good tip. lists:takewhile/2 and lists:dropwhile/2 are probably
not that widely used.

/Uffe

On Thu, 18 Oct 2001, Fredrik Linder wrote:

>Hej
>
>Fick tipset att nämna detta på erlang-question-listan. Kanske något för
>lists/string i OTP R9 ?
>
> > Sverker Wiberg writes:
> > > Fredrik Linder writes:
> > > Såg att du satt uppskriven som aktiv författare på på PLEAC Erlang.
> > > Appropå "Accessing strings": I vissa lägen funkar lists bättre än
>string för
> > > att hantera strängar.
> >
> > Tack för tipset. Har du nämnt det här på erlang-questions-listan? Och
> > vilken erlang-version har du förresten?
>
>OTP R7B-04 ... tills idag.
>
> >
> > > T.ex.
> > > EmailAtDomain = lists:dropwhile(fun($@) -> false; (_) -> true end,
> > > "")
> > > EmailName = lists:takewhile(fun($@) -> false; (_) -> true end,
> > > "")
> > > {EmailName, EmailAtDomain} = lists:splitwith(fun($@) -> false; (_) ->
>true
> > > end, "")
> > >
> > > Resultatet blir en lista istället för ett index som motsvarande
> > > string-funktion skulle ge: string:chr/2 -> int().
> > >
> > > Vill man sedan göra något med den resulterande listan måste man med
>string
> > > använda string:chr/2 följt av t.ex. string:substr/[2,3].
> > >
> > > Använder man lists i det här fallet blir hastigheten O(n), och använder
>man
> > > string blir det O(2*n)... Vilket assymptotiskt är lika, men blir
>dubbelt så
> > > dyrt ändå.
> > >
> >
> > Hmmm...kanske skulle skriva om string-modulen...nääää! Det har jag
> > inte tid (och ork) till!
>
>/Fredrik
>
>http://skrivihop.nu
>
>

-- 
Ulf Wiger                                    tfn: +46  8 719 81 95
Senior System Architect                      mob: +46 70 519 81 95
Strategic Product & System Management    ATM Multiservice Networks
Data Backbone & Optical Services Division      Ericsson Telecom AB




More information about the erlang-questions mailing list