Wpis z mikrobloga

#swift #ios #programowanie

func sumOfPositives (_ numbers: [Int] ) -> Int {
let positiveNum = numbers.flatMap{$0 > 0 ? $0 : 0}
var sum = 0
positiveNum.flatMap{sum += $0}
return sum
}

Wykonując ten kod dostaje dobre wyniki + error:

solution.swift:4:13: warning: result of call to 'flatMap' is unused
positiveNum.flatMap{sum += $0}

I teraz proszę powiedzcie mi jak mam traktować takie coś - czy to duży błąd?
  • 12
@penguin: jest to błąd, może nie jakiś bardzo duży, bo ostatecznie rezultat jest taki jak powinien być ale można to zrobić lepiej. Jakbym robił review takiego kodu to na pewno bym tego nie przepuścił.
@jabl: Czy macie listę takich "funkcji" do zrobienia na danym obiekcie? Wydaje mi się, że sama dokumentacja swifta nie jest do końca najczytelniejsza. Chciałbym czegoś bardziej w stylku MDN lub nawet W3schools.
@penguin: nie ma tego az tak duzo, to sa funkcje wyzszego rzedu z Array, z pamieci: filter, map, flatMap, compactMap, reduce, sort. Jest mnostwo tutoriali jak z nich korzytac, na pewno znajdziesz taki, ktory Ci dobrze to rozjasni.