İçerir Metodu
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 76 / 86.
Dizilerle çalışırken, bir işlem gerçekleştirmeden önce belirli bir değerin var olup olmadığını sık sık kontrol etmen gerekir. Swift, tam olarak bu amaç için contains() yöntemini sağlar. Öğe bulunursa true, aksi takdirde false döndürür.
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// Muzlarımız var!Bu, dizide manuel olarak arama yapmak için bir döngü yazmaktan çok daha temizdir. Bu yöntem, dizeler, sayılar veya diğer değerleri içermesine bakılmaksızın her tür diziyle çalışır:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseYaygın bir kullanım durumu, kullanıcı girdisini izin verilen değerler listesindeki değerlerle doğrulamaktır:
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Geçerli seçimcontains() yöntemi, bir alt dizenin daha büyük bir dize içinde bulunup bulunmadığını kontrol etmek için dizelerle de çalışır:
let message = "Hello, Swift!"
print(message.contains("Swift")) // trueGörev
Kolayİki satır girdi alacaksınız:
- İzin verilen kullanıcı adlarının virgülle ayrılmış bir listesi (ör.
admin,user,guest,moderator) - Kontrol edilecek bir kullanıcı adı
Kullanıcı adının izin verilen listede olup olmadığını kontrol edin. Varsa Access granted yazdırın. Yoksa Access denied yazdırın.
Adımlar:
- Virgülle ayrılmış listeyi okuyun ve bir dize dizisine ayırın
- Kontrol edilecek kullanıcı adını okuyun
- Kullanıcı adının izin verilen listede olup olmadığını belirlemek için
contains()yöntemini kullanın - Sonuca göre uygun mesajı yazdırın
İpucu: Bir dizeyi diziye ayırmak için components(separatedBy:) kullanın. Örneğin:
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Kendin dene
// İzin verilen kullanıcı adlarının virgülle ayrılmış listesini oku
let allowedList = readLine()!
// Kontrol edilecek kullanıcı adını oku
let username = readLine()!
// TODO: Kodunu aşağıya yaz
// 1. allowedList'i components(separatedBy:) kullanarak bir diziye ayır
// 2. username'in dizide olup olmadığını kontrol etmek için contains() kullan
// 3. Print "Access granted" or "Access denied" based on the resultBu 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