Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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,526 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)