Swift Programlama – Ders 7

bay404

Uzman üye
1 Mar 2020
1,672
42
Antalya



GyUig8.gif



Merhaba sevgili Turk Hack Team Ailesi, bu konumda Swift kodlamaya devam edeceğiz. Umarım herkes adına yararlı ve güzel bir konu olacaktır.


tJoGV2.gif



************************************

Switch Yapısı

Switch yapısı, bir değeri alarak belirlenen koşullar ile kıyaslar ve uygun olan koşulun sahip olduğu kod bloğunu çalıştırır. if yapısına benzerdir ve özellikle kıyaslanacak durumlar net ise if’e göre daha kullanışlıdır.

Kısaca özetleyecek olursak, bir tipte bir değişkeni alır ve diğerleriyle kıyaslar.

Switch case’in genel yapısı şu şekildedir:

Kod:
[COLOR="Yellow"]switch karşılaştırılacak değer {
case koşul 1:
    1. koşula uygun olma durumundaki cevap
case koşul 2,
value 3:
    2. yada 3. koşula uygun olma durumundaki cevap
default:
    hiç bir koşula uygun olmaz ise dönecek olan cevap
}[/COLOR]

Örnek 1: Sesli ve sessiz harf ayırıcı program

Kod:
[COLOR="yellow"]let harf: Character = "e"
switch harf {
case "a", "e", "i", "o", "u":
    println("(harf) sesli bir harftir")
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
    println("(harf) sesli bir harf değildir")
default:
    println("(harf) sesli veye sessiz bir harf değil")
}
 
//"e sesli bir harftir"[/COLOR]

Örnek 2: Büyük – Küçük harf ayırıcı program

Kod:
[COLOR="Yellow"]let harf: Character = "a"
switch harf {
case "a":
    println("Harf : a")
case "A":
    println("Harf : A")
default:
    println("harf A değil")
}
 
//Harf : a[/COLOR]

Örnek 3: Harf notu hesaplayıcı program

Kod:
[COLOR="Yellow"]var examResult = 89
        
        switch examResult{
        case 0...30:
            println("Harf Notunuz F")
        case 31...50:
            println("Harf Notunuz D")
        case 51...75:
            println("Harf Notunuz C")
        case 76...90:
            println("Harf Notunuz B")
        case 91...100:
            println("Harf Notunuz A")
        default:
            println("Harf notunuz geçerli değil !")
        }
 
//Harf Notunuz B[/COLOR]

Tuples

Tuples birleştirilmiş iki değer anlamına gelir. (int x, int y) gibi

Örnek 1: x-y koordinat düzleminde nokta yerini saptama

Kod:
[COLOR="Yellow"]let point = (1, 1)
        switch point {
        case (0, 0):
            println("(0, 0) noktası orjin noktasındadır.")
        case (_, 0):
            println("((point.0), 0) noktası x ekseni üzerindedir.")
        case (0, _):
            println("(0, (point.1)) noktası y ekseni üzerindedir.")
        case (-2...2, -2...2):
            println("((point.0), (point.1)) noktası, belirlenen alan içerisindedir")
        default:
            println("((point.0), (point.1)) noktası, belirlenen alan dışındadır.")
        }
        
 
//(1, 1) noktası, belirlenen alan içerisindedir[/COLOR]

Örnek 2: x-y koordinat düzleminde nokta yerini saptama

Kod:
[COLOR="Yellow"]let point = (99, 0)
        switch point {
        case (0, 0):
            println("(0, 0) noktası orjin noktasındadır.")
        case (_, 0):
            println("((point.0), 0) noktası x ekseni üzerindedir.")
        case (0, _):
            println("(0, (point.1)) noktası y ekseni üzerindedir.")
        case (-2...2, -2...2):
            println("((point.0), (point.1)) noktası, belirlenen alan içerisindedir")
        default:
            println("((point.0), (point.1)) noktası, belirlenen alan dışındadır.")
        }
        
 
//(99, 0) noktası x ekseni üzerindedir.[/COLOR]

Value Binding

Tuple olarak verilen değer çiftinden bir tanesinin değerine bakılarak kontrol edilir. Tuple çiftinin diğer değeri ise değişken olarak verilir. Bu değişkende kontrol edilecek olan tuple çiftinden gelen değer olacaktır.

Örnek:

Kod:
[COLOR="Yellow"]let anotherPoint = (2, 0)
switch anotherPoint {
case (let x, 0):
    println("x ekseni üzerindedir ve x in değeri :(x)")
case (0, let y):
    println("y ekseni üzerindedir ve y nin değeri :(y)")
case let (x, y):
    println("başka bir noktadadır: ((x), (y))")
}
 
//x ekseni üzerindedir ve x in değeri :2[/COLOR]

Where

Switch yapısının sorgu eklenmiş halidir. Case’lerin durumu sorgunun sonucuna göre belirlenir.

Örnek:

Kod:
[COLOR="Yellow"]let anotherPoint = (1, -1)
switch anotherPoint {
case let (x, y) where x == y:
    println("((x), (y)) noktası x == y doğrusu üzerindedir")
case let (x, y) where x == -y:
    println("((x), (y)) noktası x == -y doğrusu üzerindedir")
case let (x, y):
    println("((x), (y)) noktası herhangi bir yerdedir")
}
 
//(1, -1) noktası x == -y doğrusu üzerindedir[/COLOR]




TRoCYy.png


Geri Dönüş ve Yanıtlarınız Bekliyorum. Benim için önemliler. :))


Konum bu kadardı arkadaşlar. Hepinize vaktinizi ayırdığınız, okumaya uygun görüp de okuduğunuz için teşekkür ediyorum. Saygılarla iyi forumlar.. :mml

//Alıntı İçermektedir!


Bay 404 Web Coder


 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.