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 Functions in Swift Adding Power to Functions Function Parameters

Nico Meyer
Nico Meyer
1,137 Points

What the correct code? Got it working but challenge don't accept answer.

In this task we're going to write a simple function that takes two numbers and returns the remainder of dividing one number by the other.

Step 1: Declare a function named getRemainder that takes two parameters, a and b, both of type Int, and returns the value, also of type Int, obtained by carrying out the operation a modulo b. In case you've forgotten, the modulo operator is also called the remainder operator.

Step 2: The local names of the parameters are convenient but they make it hard to figure out the meaning of the function when we call it. Add two external names - value, for the first parameter and divisor for the second.

functions.swift
// Enter your code below
func getRemainder(a value: Int, b divisor: Int) -> Int
{

        return (value % divisor)
}

1 Answer

andren
andren
28,558 Points

You have the local and external names of the parameters the wrong way around. The parameters are meant to be called a and b locally and value and divisor externally. Also it's not really necessary to wrap the equation is parenthesis, though it won't produce an error either.

If you fix the code like this:

func getRemainder(value a: Int, divisor b: Int) -> Int // Swapped local and external names
{
    return a % b // Change names to account for the above change
}

Then your code will pass task 1.

Nico Meyer
Nico Meyer
1,137 Points

Thanks, that dit the trick. Appreciate the help

josh kinney
josh kinney
1,576 Points

Why doesn't this pass the second part?

func getRemainder(value a: Int, divisor b: Int) -> Int { return a % b }

let result = getRemainder(a:10, b:3)