Argüman Etiketleri
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 54 / 86.
Swift, argüman etiketlerini kullanarak fonksiyon çağrılarının nasıl okunduğu üzerinde size kontrol sağlar. Bir argüman etiketi, fonksiyonu çağırırken kullandığınız şeydir; parametre adı ise fonksiyon gövdesi içinde kullandığınız şeydir.
Her ikisini de parametre adından önce argüman etiketini yazarak belirtebilirsiniz:
func greet(to name: String) {
print("Hello, \(name)!")
}
greet(to: "Alice") // Çıktı: Hello, Alice!Burada to, argüman etiketidir (çağrı yapılırken kullanılır) ve name, parametre adıdır (fonksiyonun içinde kullanılır). Bu, çağrının daha doğal okunmasını sağlar: "Alice'e selam ver."
Bazen daha temiz çağrılar için etiketi tamamen atlamak istersiniz. Argüman etiketi olarak bir alt çizgi (_) kullanın:
func square(_ number: Int) -> Int {
return number * number
}
print(square(5)) // Çıktı: 25Alt çizgi olmadan, square(number: 5) yazmanız gerekirdi. Alt çizgi bu gerekliliği ortadan kaldırarak, fonksiyon ismi amacı zaten netleştirdiğinde çağrıyı daha basit hale getirir.
Görev
KolayFarklı argüman etiketi tekniklerini gösteren iki fonksiyon oluşturun:
Fonksiyon 1: send
textparametre adı (türüString) ilemessageargüman etiketini kullanınrecipientparametre adı (türüString) iletoargüman etiketini kullanın- Şu formatta bir dize döndürün:
"Sending '[text]' to [recipient]"
Fonksiyon 2: double
- Argüman etiketini atlamak için bir alt çizgi
_kullanın - Parametre adı
number(türüInt) - Sayının 2 ile çarpılmış halini döndürün
Her iki fonksiyonu da tanımladıktan sonra, girdiden iki dize ve bir tam sayı okuyun, ardından her iki fonksiyonu da çağırın ve sonuçları ayrı satırlara yazdırın.
Aşağıdaki girdileri alacaksınız:
- Birinci satır: mesaj metni (örneğin,
"Hello") - İkinci satır: alıcı adı (örneğin,
"Alice") - Üçüncü satır: ikiye katlanacak bir sayı (örneğin,
"7")
Örneğin, girdiler "Hello", "Alice" ve "7" ise, çıktı şöyle olmalıdır:
Sending 'Hello' to Alice
14Kendin dene
// Girdiyi oku
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!
// YAPILACAK: Kodunuzu aşağıya yazın
// 'message' ve 'to' argüman etiketlerine sahip 'send' fonksiyonunu tanımlayın
// '_' kullanarak argüman etiketi atlanmış 'double' fonksiyonunu tanımlayın
// Her iki fonksiyonu da çağırın ve sonuçları yazdırınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerMod OperatörüBileşik AtamaTekrar - Basit MatematikKarşılaştırma Operatörleri7Temel Girdi/Çıktı
Print FonksiyonuDize EnterpolasyonuReadLine ile GirdiTür DönüşümüTekrar - 120'ye KadarTekrar - Doğru mu Yanlış mı10Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriArgüman EtiketleriTekrar - Sigma FonksiyonuTekrar - Doğrulama FonksiyonuVarsayılan Değerler13Diziler Üzerinde Yineleme
Öğeler Üzerinde YinelemeEnumerate YöntemiDizeler Üzerinde Yineleme P1Dizeler Üzerinde Yineleme P22Değişkenler
Let ve VarTür AnotasyonlarıSayılarStringBooleanAdlandırma KurallarıTekrar - Değişkenleri Başlat5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Tekrar - Basit MantıkMantıksal Operatörler Bölüm 3Üçlü Operatör8Hesap Bölüştürme Hesaplayıcısı
Karşılama MesajıGirdi Alma11FizzBuzz'a Farklı Bir Yorum
Oyuna Genel BakışFizzBuzz Fonksiyonu3Optional Değerler
Optional Değerler NedirIf Let ile AçmaGuard LetNil Birleştirme OperatörüTekrar - Güvenli Açma9Döngüler
For-In DöngüsüWhile DöngüsüRepeat-While DöngüsüBreakContinueTekrar - FaktöriyelDöngülerde Aralıklarİç İçe DöngüTekrar - Dinamik GirdiKendi başına pratik yap: Swift playground