Swift programlama dilinde, “tuples” birden çok değeri bir araya getirip, bir adet birleşik değer oluşturma işine yarar. Bir araya getirilen değerlerin tipleri aynı olmak zorunda değildir yani birbirinden farklı tipteki değerler bir tuple sayesinde tek bir değer olarak tutulabilir.
Biraz daha anlaşılır olması için, örnekler üzerinden giderek bu konuyu açıklayalım. Apple’ın kaynak kitabında da belittiği gibi, bu birleşik değişkenlerin en güzel kullanım alanlarından biri HTTP durum kodlarıdır. HTTP durum kodlarında int ve string değerleri bir arada görüyoruz.
Örneğin
- 404 Not Found
- 400 Bad Request
- 500 Internal Server Error
- 504 Gateway Timeout
Bu örneklerde görmüş olduğumuz kırmızı yazılar int değerleri, mavi yazılar ise string değerleri gösterir. (int,string) şeklinde gösterilebilecek bu tuple’ın yanında, istediğimiz şekillerde tuple’lar oluşturabiliriz. Sadece 2 farklı tip’in yan yana gelmesine de gerek yok. Eğer istersek 3,4 değişkeni birlikte kullandığımız tuple’lar oluşturabiliriz, tamamen bizim insiyatifimizde.
Şimdi konuyu örnek kodların üzerinden inceleyelim.
Tuple Oluşturma
Koddaki açıklama satırlarında açıklamaları görebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
let http404Error = (404, "Not Found") /* Üstteki satırda bir int ve stringi bir araya getirerek http404Error adında bir tuple oluşturduk. */ let (statusCode, statusMessage) = http404Error /* üstteki satırda yine int ve string değerleri bir araya getirerek http404Error adında bir tuple oluşturduk fakat değerleri direk yazmak yerine değişkenleri kullandık.*/ let http404Error = (statusCode: 404, description: "Not Found") /*üstteki satırda yine int ve string değerleri bir araya getirerek http404Error adında bir tuple oluşturduk fakat değerleri aldığımız değişkenlerin değerlerini, tuple tanımlarken atadık. */ |
Tuple Değerlerine Erişme ve Ekrana Yazdırma
Koddaki açıklama satırlarında açıklamaları görebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
let statusCode = 404 let statusMessage = "Not Found" /* statusCode adında bir int değişken ve statusMessage adında bir string değişken oluşturup değerlerini atadık.*/ let (statusCode, statusMessage) = http404Error /* bu iki değişkeni bir araya getirerek http404Error adında bir tuple oluşturduk */ println("The status code is (statusCode)") // ekrana "The status code is 404" yazdırır println("The status message is (statusMessage)") // ekrana "The status message is Not Found" yazdırır println("The status code is (http404Error.0)") /* burada tuple'ın ilk elemanına ulaşılıyor ekrana "The status code is 404" yazdırır */ println("The status message is (http404Error.1)") /* burada tuple'ın 2. elemanına ulaşılır ekrana "The status message is Not Found"yazdırır. */ println("The status code is (http404Error.statusCode)") /* yada direkt olarak tuple'ın bileşenlerine de ulaşabiliriz. ekrana "The status code is 404" yazdırır */ println("The status message is (http404Error.statusMessage)") // ekrana "The status message is Not Found" yazdırır |
Gerçekten çok başarılı bir çalışma olmuş elinize sağlık.
Teşekkürler.
[…] Tuples […]
[…] Swift Tuples adlı makalemde daha ayrıntılı bilgi bulabilirsiniz. […]
geçekten faydalı ve güzel olmuş, klavyenize sağlık…
Teşekkürler
[…] sonucunda bir değer üretmiyorlarsa, her zaman void değeri döndürürürler. Bu da boş bir tuple değerine () […]
printIn kodu dökümantasyon eski olduğu için kullanılmış şimdi sanırım. Şimdi kodlama yaparken aynı kodda Error alıyorum.
Evet yeni versiyon çıktıntan sonra yazı güncellenmediği için hata alıyorsundur