Herkese merhaba.
bu yontemi daha once kullandigimi hatirlamadigim icin sizlerle paylasmak istiyorum.
Daha onceki kodlarimda "birden fazla while dongusu ya da goto ile atlama" yaparak sonuca ulastim.
-
Asagida verecegim yontem, while kullanarak dongu bitisine sureklilik katarak yine ayni dongunun olusmasini kullanmayi amacliyor.
-
Nasil yani ?
normal bir while dongusu dusunelim 5 kez dönsün.
ne olabilir basit olarak? mesela 1'den 5'e kadar echo yapalim.
-
----------------------
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias normal-dongu {
var %m = 1
while %m <= 5 {
echo -a : %m
inc %m
}
echo -a TAMAM
}
--------------------
Yukarida 8 satirlik line'dan olusan bir kod bulunmaktadir. Bu satirlara tek tek numara verirsek,
---------------------
1 alias normal-dongu {
2 var %m = 1
3 while %m <= 5 {
4 echo -a : %m
5 inc %m
6 }
7 echo -a TAMAM
8 }
---------------------
/normal-dongu komutunu uyguladigimizda, kodda hangi line numaralari sirasiyla calisacak ?
-
Lines: 1-2-3-4-5-3-4-5-3-4-5-3-4-5-3-4-5-6-7-8
dikkat ederseniz 3-4-5 numarali line'da bir tekrarlama goruyorsunuz ve bu tekrar 5 kez.
Tekrarlarin sonucunda bunun 1 dongu oldugunu anliyoruz.
-
Kodun ekran ciktisi ise;
-
: 1
: 2
: 3
: 4
: 5
TAMAM
-
Bu dongu normal bir while dogusudur.
Eger dongumuze sureklilik kazandirmak istiyorsak, yani donguyu surekli tekrar ettirmek istiyorsak;
Donguyu kac kez tekrar ettirelim ? mesela 2 kez olsun.
;----------------------------------
Kod: Kodu kopyalamak için üzerine çift tıklayın!
alias surekli-dongu {
var %m = 1
var %surekli_dongu_kackez = 2
while (%m <= 5 && %surekli_dongu_kackez) {
echo -a : %m
if %m == 5 { dec %m %m | dec %surekli_dongu_kackez }
inc %m
}
echo -a TAMAM
}
----------------------------------
Yine kod line numaralar verelim.
1 alias surekli-dongu {
2 var %m = 1
3 var %surekli_dongu_kackez = 2
4 while (%m <= 5 && %surekli_dongu_kackez) {
5 echo -a : %m
6 if %m == 5 { dec %m %m | dec %surekli_dongu_kackez }
7 inc %m
8 }
9 echo -a TAMAM
10 }
-
/surekli-dongu komutunu uyguladigimizda, kodda hangi line numaralari sirasiyla calisacak ?
-
Calisan Lines: 1-2-3-4-5-7-4-5-7-4-5-7-4-5-7-4-5-7-4-5-6-7-4-5-7-4-5-7-4-5-7-4-5-7-4-5-7-8-9-10
-
Ekran Ciktisi;
-
: 1
: 2
: 3
: 4
: 5
: 1
: 2
: 3
: 4
: 5
TAMAM
-
Goruldugu gibi donguye bir ve operator yardimi ile ek bir variable(%surekli_dongu_kackez) koyarak,
o variable degerini azalttikca surekli dongunun'de ne zaman bitecegini ayarlayabiliyoruz.