Book Image

Learning Swift

By : Andrew J Wagner
Book Image

Learning Swift

By: Andrew J Wagner

Overview of this book

Table of Contents (18 chapters)
Learning Swift
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Building blocks of functional programming in Swift


The first thing that you should realize is that Swift is not a functional programming language. At its core, it will always be an object-oriented programming language. However, since functions in Swift are first-class citizens, we can use some of the core techniques. Swift provides some built-in methods to get us started.

The filter function

The first function we will discuss is called filter. As the name suggests, this function is used to filter elements in a list. For example, we can filter our number's array to only include even numbers:

var evenNumbers = filter(numbers, { element in
    element % 2 == 0
}) // [2,4]

The closure we provide to the filter will be called once for each element in the array. It returns true if we want the element to be included in the result and it returns false otherwise. The preceding closure takes advantage of the implied return value and simply returns true if the number has a remainder of zero when it is divided...