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 Returning Complex Values

Arthur Arutyunyan
Arthur Arutyunyan
864 Points

Possible Error in Directions

How is it possible to name the parameter, for, when for is a keyword.

functions.swift
// Enter your code below

func coordinates(for location : String) -> (Double, Double)
{
    switch location
    {
      case "Eiffel Tower": return(48.8582, 2.2945)
      case "Great Pyramid": return(29.9792, 31.1344)
      case "Sydney Opera House": return(33.8587, 151.2140)
      default: (return (0,0)
    }
}

1 Answer

andren
andren
28,538 Points

It's generally true that you can't use keywords as names in Swift, but parameter names are actually an exemption to that rule. There are only three words you cannot use as a parameter name and that is inout, var, and let. Any name other than those three are valid, regardless of whether or not it is a keyword.

You can get more details on keyword restrictions in the Keywords and Punctuation section of the official Swift documentation.

Also you didn't ask for help with your code, but your code is so close to correct that I feel like giving you a hint. You should take a close look at the default case of your switch statement. There is one error on that line that causes your code to not compile. Fixing that one issue will allow you to pass the challenge.