/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
løkkestruktur
Fra : Morten Guldager


Dato : 28-07-06 13:09

Hejsa,

Jeg ender ofte med at få kodet struktur i stil med nedenstående:

my $i = 0;
while (1)
{
last magisk_A($i++) == 42;
tung_funktion();
}

Det ligner bestemt ikke noget min lærer ville have syntes godt
om den gang jeg gik i skole.

Men jeg synes nu strukturn er ganske praktisk.

Hvad synes I?


/Morten

 
 
Michael Zedeler (28-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 28-07-06 13:25

Morten Guldager wrote:
> Hejsa,
>
> Jeg ender ofte med at få kodet struktur i stil med nedenstående:
>
> my $i = 0;
> while (1)
> {
> last magisk_A($i++) == 42;
> tung_funktion();
> }

Jeg går ud fra at der skulle stå

my $i = 0;
while (1)
{
last if magisk_A($i++) == 42;
tung_funktion();
}

Det kan man jo bare skrive som

my $i = 0;
tung_funktion() while (magisk_A($i++) != 42);

Eller har jeg overset noget?

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Morten Guldager (28-07-2006)
Kommentar
Fra : Morten Guldager


Dato : 28-07-06 19:20

2006-07-28 Michael Zedeler wrote
> Morten Guldager wrote:
>> Hejsa,
>>
>> Jeg ender ofte med at få kodet struktur i stil med nedenstående:
>>
>> my $i = 0;
>> while (1)
>> {
>> last magisk_A($i++) == 42;
>> tung_funktion();
>> }
>
> Jeg går ud fra at der skulle stå
>
> my $i = 0;
> while (1)
> {
> last if magisk_A($i++) == 42;
> tung_funktion();
> }

Jæb. en "if" var smuttet.

> Det kan man jo bare skrive som
>
> my $i = 0;
> tung_funktion() while (magisk_A($i++) != 42);
>
> Eller har jeg overset noget?

Ikke i det konkrete eksempel. Men oftest har jeg mere kode før
min "last" linje.

Iøvrigt synes jeg ikke det blev lettere at læse hvad der sker i
din omskrivning.

Jeg vil gerne producere let læselig kode, som jeg også kan forstå
næste år.

Egentlig plejer jeg faktisk også at have min "$i++" på en linje
for sig selv. Det gør den mindre udsat for at blive overset.


/Morten

Michael Zedeler (28-07-2006)
Kommentar
Fra : Michael Zedeler


Dato : 28-07-06 22:36

Morten Guldager wrote:
> 2006-07-28 Michael Zedeler wrote
>
>>Morten Guldager wrote:
>>
>>>Hejsa,
>>>
>>>Jeg ender ofte med at få kodet struktur i stil med nedenstående:
>>>
>>>my $i = 0;
>>>while (1)
>>>{
>>> last magisk_A($i++) == 42;
>>> tung_funktion();
>>>}
>>
>>Jeg går ud fra at der skulle stå
>>
>>my $i = 0;
>>while (1)
>>{
>> last if magisk_A($i++) == 42;
>> tung_funktion();
>>}
>
>
> Jæb. en "if" var smuttet.
>
>
>>Det kan man jo bare skrive som
>>
>>my $i = 0;
>>tung_funktion() while (magisk_A($i++) != 42);
>>
>>Eller har jeg overset noget?
>
> Ikke i det konkrete eksempel. Men oftest har jeg mere kode før
> min "last" linje.

I de fleste tilfælde finder jeg en måde at undgå "uendelige" løkker, som
afbrydes med en last, men det er ikke altid. Hvis dit stopkriterie
/skal/ stå i midten, er der ikke rigtig nogen måde at undgå det på.
Alternativet er at forskyde operationerne inde i løkken, så en del af
det, der sker i første trin, bliver udført før løkken.

> Iøvrigt synes jeg ikke det blev lettere at læse hvad der sker i
> din omskrivning.
>
> Jeg vil gerne producere let læselig kode, som jeg også kan forstå
> næste år.

Det er jo smag og behag. Jeg har vænnet mig til den syntaks.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407849
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste