
Beginning Swift
By :

Open
Functional.playground
at the
Introduction
page.
First, let's reiterate what a function type is:
var sum: (Int, Int) -> Int
The type of
sum
is a function that takes two
Int
values and returns one
Int
value. We can assign both functions and closures to it, as they are essentially the same thing:
func sumFunction(a: Int, b: Int) -> Int { return a + b } let sumClosure = {(a: Int, b: Int) in return a + b} sum = sumFunction sum = sumClosure
We can also assign an operator to it:
sum = (+)
This is because an operator is a function (the parentheses around the + operator are just to signal that we want to use it as a function, not add things together right away). The definition of the
+
operator for
Int
is:
static func +(lhs: Int, rhs: Int) -> Int
So whenever a function has a parameter of a function type, we can supply an operator, as long as the input and output match:
func perform(operation: (Int, Int) -> Int...
Change the font size
Change margin width
Change background colour