Swift 5.3 Loops |Döngüler (For-in,While,Repeat While)

Klasik dillerde gördüğümüz for döngüsü biraz daha farklı bir şekilde karşımıza çıkıyor.Swift dilinde diğer dillerden aşina olduğumuz for – each döngüsüne benzer bir yapı olan for-in döngüsünü kullanıyor.Burada temel mantık for-each ile aynı çalışmaktadır.

For Ex

  • Burada klasik bir dizi tanımladık . Ardından bir adet for in döngüsü yazdık.
  • Döngü ile dizi elemanlarınnın her birini name isimli local değişkene atadım ve döngüm her çalıştığında bu local değişkenime sırası ile dizimin elemanlarına atanacak.
  • Döngümün tekrar sayısı ise dizimin eleman sayısı kadar olucak .

For Ex 2

  • Şimdi Tekrar sayısı belli olan bir döngü yapalım.
  • for-in döngüsü içinde sadece local bir n değişkeni tanımladık.
  • Aralık Operatörü ile (1…5) 1 den basla ve 5 olunca dur dedik.
  • Dikkatinizi çeken şey burada nasıl n bayisinin arttığı ? Evet işte Swift bu şekilde default olarak bunun bir attrıma işlemi oldugunu biliyor .Burada for in döngüsünün esnekliğini görüyoruz.Yanı biz diler dillerde i++ kullanıyorduk burada arka planda swift bunu kendi koyuyor.

For Ex 3

  • Notlar diyi bir dizi tanımlayıp içine notları yerleştirdim.
  • Ardından toplam adın altında bir değişken tanımladım .
  • for in döngüsü ile notlar dizisine erişim ve eleman sayısı kadar döngüm çalıştı.
  • Döngü her çalıştığında toplam değişkenine dizim üzerinde aldığı her bir not degerini += ile eklemiş olduk.Döngüde iş bitince artık toplam değerinimin için bir verim oldu.
  • Döngü çıkışında toplam değerimi kaç adet not sayısı var ise onun kadar bölme işlemi yaptık.
  • Böylelikle ortalama not değerini bulmuş olduk.

Fox EX 4

  • Bu örnekte farklı bir şekilde elemanlara erişelim.
  • Burada şöyle bir durum var.Döngü aralığını 0 dan başlattık .Bitişi ise dizimin eleman sayısı kadar belirledik.Buraya kadar her şey normal.
  • Half Open Range (Yarı açıklık). operatörü ile 0 dan başladık ama burda 0 kapsayıcı bir değer olmadı.
  • Yanı artık i degeri ile dizi elemanlarına erişmiş olduk.

For Ex 5 (Sözlük Örneği)

  • Sehirplaka adında bir dictionary yapısısı tanımladım.
  • for in döngüsü ile sözlükten gelen key ve value değerini sehir,plaka isimli sabit değişkenime atadım.
  • Print fonksiyonu ile de eriştim 2 value değerini ekrana basmış olduk.

For Ex 6:

  • Bu örnekte dizilerde ki enumerated() özelliğini kullandık enumerated() bize bir çift sayı dizisi dönürü (n,x)
  • Bunula birlikte hangi index degerinde hangi eleman var kolayca görebilirim

While Döngüsü

Şimdi For döngüsü bile bir farklı geldi değil mi ? Şimdi bir de while döngüsüne bakalım.Öncelikle hangi döngüyü nerede kullanmamız gerekiyor onu bilmek gerekiyor.Genel olarak aslında for döngüsünü nispeten tekrar sayısını belli olan durumlarda kullanılır .Mesela 1 ile 10 arasında ki sayılarım toplamı veya dizi elemanlarına erişmek gibi. While döngüsü ile ise herhangi bir koşul false değerini alana kadar çalış diyoruz.

Mesela sizden 1 ile 10 arasında ki random bir sayı üretelim desem mesela bunu çok basit bir for döngüsü ile yapıp ekrana basabilrdik.

İşte şimdi while döngüsüne bakalım.

  • Mylevel 0 dan , final levelim ise 5 olarak tanımlandı.Ayrıca oyun tamamlanma durumunda ise bir adet bool değişkenim var .True bir değer almış.
  • While döngüm ise mylevel değerim, finallevel degerimden küçük veya eşit olduğu sürece devam edebilir.
  • Burada arttırma operatörü ile döngü her tekrar ettiğinde level sayısını 1 arttırdık eger bunu yapmasaydık mylevel değerim hiç artmayacak ve while döngümüz bilgisyarımız. patlayana kadar çalışmaya devam edecektir.Çünkü burada koşulum bunu gerektiyor.

Repeat While (Yani Aslında Do-While)

Swift hep bir kendine artistlik bir özellikle gibi önümüze bazı icatlar çıkarsada aslında bir do-while döngüsüdür.Yanı bu demek oluyor bir repeat-while döngüsü koşulu ne olursa olsun mutlaka 1 kez true bir değer döndürerek ilk seferde yani 1 kere kesinlikle çalışacaktır.1 kere döngü çalıştıktan sonra bundan sonra ki durumlarda koşula göre kendini çalıştıracaktır.Yani do-while döngüsünün adına değiştirip bunu ben yaptım demenin tek bir izahı olabilir = Think Different : Apple

  • Bu örnegin tek farklı repeat while ile yapılmasıdır.Mantık çok basit ilk sefer de1 kere çalıştıktan sonra sonra koşula baktı.

Loop Break (Döngüden Break ile Atmak)

Döngüden çıkmak isteğimiz zamanlarda bazen break deyimini kullanmak gerekir.Break ile ile ara bir koşul ile döngü içinden kendimizi atabiliriz.Mantık çok basti bir if koşulu içerisinde bir durum belirtip o durum olduğunda ana döngümün koşulu en olursa olsun döngüyü terk et diyorum.

Loop Continue

Tıpkı Break komutunda olduğu gibi Continue komutuda döngülerin akışını değiştirmek çomak sokmak anlamında kullanılır.Continue ile bu döngü adımında atlayarak devam et şeklinde bir yol izliyoruz.Break ifadesinden farklı bir yolu sadece o an ki döngü adımını atlar.

Burada nt değeri 12 olduğunda döngünün o adımda herhangi bir işlem yapmadı ve gördümüz gibi ekrana basmadı.

Leave a Reply

*