Sıra Operatörleri
Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası. Ders 75 / 86.
Swift, döngüler yazmadan diziler hakkında hızlıca bilgi toplamanıza olanak tanıyan yararlı yerleşik özellikler ve yöntemler sunar. Bu dizi operatörleri, minimum kodla yaygın hesaplamaları yapmanıza yardımcı olur.
count özelliği, bir dizideki öğe sayısını döndürür:
let scores = [85, 92, 78, 90]
print(scores.count) // 4Sayısal diziler için Swift, en küçük ve en büyük değerleri bulmak için yöntemler sunar. Boş bir dizinin minimum veya maksimum değeri olmadığı için min() ve max() yöntemleri opsiyoneller (optionals) döndürür:
let temperatures = [72, 68, 75, 80, 65]
if let lowest = temperatures.min() {
print(lowest) // 65
}
if let highest = temperatures.max() {
print(highest) // 80
}Tüm öğelerin toplamını hesaplamak için reduce yöntemini kullanın. Bir başlangıç değerinden başlayarak tüm değerleri birleştirir:
let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total) // 600 başlangıç değeridir ve + Swift'e her bir öğeyi ara toplama eklemesini söyler. Bu operatörleri birleştirerek kolayca bir ortalama hesaplayabilirsiniz:
let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average) // 86Görev
Kolayscores dizisini alan ve dizi hakkındaki istatistikleri içeren bir özet dizesi döndüren bir analyzeScores fonksiyonu yazın.
Puanların sayısını, minimumunu, maksimumunu ve ortalamasını hesaplamak için dizi operatörlerini kullanın, ardından bunları tek bir özet dizesi şeklinde formatlayın.
Mantık:
countkullanarak elemanların toplam sayısını alınmin()kullanarak minimum değeri bulunmax()kullanarak maksimum değeri bulunreduce(0, +)kullanarak toplamı hesaplayın ve ortalamayı bulmak için eleman sayısına bölün- Tüm istatistikleri içeren formatlanmış bir dize döndürün
Parametreler:
scores([Int]): Tam sayı puanlardan oluşan bir dizi (en az bir eleman içereceği garanti edilir)
Dönüş Değeri: İstatistikleri içeren formatlanmış bir dize (String). Format: "Count: X, Min: X, Max: X, Avg: X"
Örnek: Eğer scores dizisi [85, 90, 78, 92] ise, fonksiyon "Count: 4, Min: 78, Max: 92, Avg: 86" döndürmelidir.
Not: Ortalama, tam sayı bölmesi kullanılarak hesaplanmalıdır (ondalık basamak olmamalıdır).
Kendin dene
func analyzeScores(scores: [Int]) -> String {
// Kodunuzu buraya yazın
}
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
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