Özel Dize Birleştirme
Birleştirmeyi kendi parçalarınızla genişletin.
Özel Dize Birleştirme, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.
Özel Dize Enterpolasyonu
Swift, String.StringInterpolation türüne yöntemler ekleyerek enterpolasyonun çalışma biçimini genişletmenize olanak tanır. Böylece belirli bağımsız değişken türleri veya etiketleri için gerçekleşen işlemleri özelleştirebilirsiniz.
extension String.StringInterpolation {
mutating func appendInterpolation(shout value: String) {
appendLiteral(value.uppercased() + "!")
}
}
print("Message: \(shout: "hello")")appendInterpolation Yöntemi
Her özel enterpolasyon bir mutating func appendInterpolation(...) tanımıdır. Parametreleri, bir dizedeki parantezlerin arasına ne yazacağınızı belirler.
extension String.StringInterpolation {
mutating func appendInterpolation(repeat text: String, times: Int) {
appendLiteral(String(repeating: text, count: times))
}
}
print("\(repeat: "ab", times: 3)")appendLiteral ve appendInterpolation
Özel bir yöntemin içinde, düz metin için appendLiteral çağırarak ve değerler için mevcut enterpolasyonları yeniden kullanarak çıktı oluşturursunuz.
extension String.StringInterpolation {
mutating func appendInterpolation(twice value: Int) {
appendLiteral("\(value)\(value)")
}
}
print("\(twice: 7)")Etiketli Enterpolasyon Bağımsız Değişkenleri
İlk parametre etiketi, \(shout: ...) örneğinde olduğu gibi kullandığınız anahtar sözcük olur. Bu, çağrı konumundaki amacı açıkça belirtir.
extension String.StringInterpolation {
mutating func appendInterpolation(currency amount: Double) {
appendLiteral(String(format: "$%.2f", amount))
}
}
print("Price: \(currency: 9.5)")Birden Çok Parametre
Özel enterpolasyonlar birkaç parametre alabilir; böylece değerin yanında seçenekler de iletebilirsiniz.
extension String.StringInterpolation {
mutating func appendInterpolation(_ value: Double, places: Int) {
appendLiteral(String(format: "%.\(places)f", value))
}
}
print("\(3.14159, places: 2)")Değerleri Biçimlendirme
Yaygın bir kullanım, bir değeri alana özgü bir biçimde sunmaktır; örneğin bir sayıyı sabit genişliğe tamamlamak.
extension String.StringInterpolation {
mutating func appendInterpolation(padded value: Int, width: Int) {
appendLiteral(String(format: "%0\(width)d", value))
}
}
print("ID: \(padded: 42, width: 5)")Koşullu Çıktı
Özel enterpolasyon mantık içerebilir ve girdiye göre farklı metinler üretebilir.
extension String.StringInterpolation {
mutating func appendInterpolation(yesNo flag: Bool) {
appendLiteral(flag ? "Yes" : "No")
}
}
print("Active: \(yesNo: true)")Mevcut Enterpolasyonları Yeniden Kullanma
Yönteminizin içinde yerleşik türler için appendInterpolation çağırabilir ve standart davranışın üzerine yeni davranış ekleyebilirsiniz.
extension String.StringInterpolation {
mutating func appendInterpolation(bracketed value: Int) {
appendLiteral("[")
appendInterpolation(value)
appendLiteral("]")
}
}
print("\(bracketed: 9)")Varsayılan Parametre Değerleri
Özel enterpolasyonlarda parametrelere varsayılan değerler verebilirsiniz; böylece çağıranlar bu parametreleri yazmayabilir.
extension String.StringInterpolation {
mutating func appendInterpolation(money value: Double, symbol: String = "$") {
appendLiteral(symbol + String(format: "%.2f", value))
}
}
let sym = "EUR "
print("\(money: 5.0)")
print("\(money: 5.0, symbol: sym))")Özel Enterpolasyon Ne Zaman Kullanılır
Kodunuzun farklı yerlerinde bir biçimlendirme kalıbı tekrarlandığında özel enterpolasyonu tercih edin; bu yaklaşım mantığı temiz bir çağrı konumunun arkasında merkezileştirir.
extension String.StringInterpolation {
mutating func appendInterpolation(stars n: Int) {
appendLiteral(String(repeating: "*", count: n))
}
}
print("Rating: \(stars: 4)")Özel Enterpolasyon Özeti
String.StringInterpolation türünü genişleterek tekrarlanan biçimlendirmeyi, doğrudan dizelerinizin içine yerleştirilmiş okunabilir ve yeniden kullanılabilir bir söz dizimine dönüştürebilirsiniz.
extension String.StringInterpolation {
mutating func appendInterpolation(percent value: Double) {
appendLiteral(String(format: "%.0f%%", value * 100))
}
}
print("Done: \(percent: 0.75)")Hızlı Denetim
Özel enterpolasyonun arkasındaki mekanizmayı hatırlayın.
Özet: Özel Dize Enterpolasyonu
String.StringInterpolation türünü appendInterpolation yöntemleriyle genişletmenin yeni enterpolasyon söz dizimleri tanımlamanıza olanak tanıdığını; çıktıyı oluşturmak için appendLiteral ve iç içe enterpolasyonların kullanılabildiğini; etiketlerin, birden çok parametrenin ve varsayılan değerlerin temiz ve yeniden kullanılabilir biçimlendirme sağladığını öğrendiniz.
extension String.StringInterpolation {
mutating func appendInterpolation(upper value: String) {
appendLiteral(value.uppercased())
}
}
print("Hello \(upper: "swift")")Sıkça Sorulan Sorular
“Özel Dize Birleştirme” dersi ücretsiz mi?
Evet — “Özel Dize Birleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.
“Özel Dize Birleştirme” dersinde ne öğreneceğim?
Birleştirmeyi kendi parçalarınızla genişletin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Swift Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Özel Dize Birleştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Temel Dize Birleştirme
- Dizelerde Sayı Biçimlendirme
- Çok Satırlı Dize Sabitleri
- Özel Dize Birleştirme