Menu
Coddy logo textTech

Contains Metodu

Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 76 / 86.

Dizilerle çalışırken, bir eylemi gerçekleştirmeden önce genellikle belirli bir değerin var olup olmadığını kontrol etmeniz gerekir. Swift, tam olarak bu amaç için contains() metodunu sağlar—eleman bulunursa true, aksi takdirde false döndürür.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// Muzumuz var!

Bu, diziyi manuel olarak taramak için bir döngü yazmaktan çok daha temizdir. Bu yöntem, ister dize, ister sayı, ister başka değerler içersin, her türlü diziyle çalışır:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // doğru
print(numbers.contains(99))  // yanlış

Yaygın bir kullanım durumu, kullanıcı girişini izin verilen değerler listesine karşı 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çim

contains() metodu, bir alt dizginin daha büyük bir dizgi içinde olup olmadığını kontrol etmek için dizgilerle de çalışır:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

Görev

Kolay

İki satır girdi alacaksınız:

  1. Virgülle ayrılmış izin verilen kullanıcı adları listesi (örneğin, admin,user,guest,moderator)
  2. Kontrol edilecek bir kullanıcı adı

Kullanıcı adının izin verilenler listesinde olup olmadığını kontrol edin. Eğer varsa, Access granted yazdırın. Yoksa, Access denied yazdırın.

Adımlar:

  1. Virgülle ayrılmış listeyi okuyun ve bir dize dizisine (array of strings) bölün
  2. Kontrol edilecek kullanıcı adını okuyun
  3. Kullanıcı adının izin verilenler listesinde olup olmadığını belirlemek için contains() metodunu kullanın
  4. Sonuca göre uygun mesajı yazdırın

İpucu: Bir dizeyi bir diziye bölmek için components(separatedBy:) kullanın. Örneğin:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

Kopya kağıdı

contains() yöntemi, bir dizide belirli bir değerin olup olmadığını kontrol eder; 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!

Herhangi bir dizi türüyle çalışır:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

Girdiyi doğrulamak için yaygın kullanım durumu:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// Geçerli seçim

contains() yöntemi, alt dizeleri kontrol etmek için dizelerle de çalışır:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true

Bir dizeyi bir diziye bölmek için components(separatedBy:) kullanın:

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()!

// YAPILACAK: Kodunuzu aşağıya yazın
// 1. components(separatedBy:) kullanarak allowedList'i bir diziye bölün
// 2. Kullanıcı adının dizide olup olmadığını kontrol etmek için contains() kullanın
// 3. Sonuca göre "Access granted" veya "Access denied" yazdırın
quiz iconKendini test et

Bu 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