Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Swift Closures Functions as First Class Citizens Higher Order Functions

I'm stuck at this one too!

Whoa man. I'm having hard time understanding 'Closures'.

This challenge tells to do this: 'Using the differenceBetweenNumbers function as an input to mathOperation, compute the difference between any two integers and assign the result to a constant named difference.'

I don't know how to do this one too!

Please Help!

Thanks.

higherOrderFunctions.swift
/** 
  For this code challenge, let’s define a math operation as a function that 
  carries out some work on two integers and returns an integer as well. An 
  example is the function below, `differenceBetweenNumbers`, which takes two 
  integers and calculates the difference between the numbers. After calculating, 
  it returns the difference.
*/

func differenceBetweenNumbers(a: Int, b:Int) -> (Int) {
  return a - b
}

// Enter your code below
func mathOperation(anyAddFunc: (Int, Int) -> Int, a: Int, b: Int) -> Int{
    return anyAddFunc(a,b)

}

2 Answers

Jhoan Arango
Jhoan Arango
14,575 Points

Hello Hammad : Please refer to the answer I gave you on your previews question, on there you’ll find the answer to this question as well. But I do want to point out, even tho this topic is in “Closures”, don’t mistake it with a closure. This is called Function Types, it comes before the actual closures.

Hey

You need to calculate the difference for the code to pass the treehouse editor, try adding this line by creating a constant that uses the mathOperation function and use the differenceBetweenNumbers as one of the arguments

let difference = mathOperation( differenceBetweenNumbers, 5, 3 )