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 trialCraig Ward
1,149 PointsSwift Basics - Fucntion - Returing Complex Values Code Challenge
I am puzzled on this challenge. I have hunted for help and came accorss this solution:
func coordinates(location: String) -> (Double, Double){ switch location { case "Eiffel Tower": return (lat: 48.8582, lon: 2.2945) case "Great Pyramid": return (at: 29.9792, lon: 31.1344) case "Sydney Opera House": return (lat: 33.8587, lon: 151.2140) default: (0,0) } return (0,0) }
However I receive this message: Bummer! Make sure you accept a single parameter of type String in your function declaration with the correct argument labels
I have used (location: String) but am at a loss. Cheers C
func coordinates(location: String) -> (Double, Double) {
switch location {
case "Eiffel Tower":
return (lat: 48.8582, lon: 2.2945)
case "Great Pyramid":
return (at: 29.9792, lon: 31.1344)
case "Sydney Opera House":
return (lat: 33.8587, lon: 151.2140)
default: (0,0)
}
return (0,0)
}
2 Answers
andren
28,558 PointsThe code is almost correct. The problem is that you do not give the string parameter an external name, which the challenge instructions specify that you have to do. Specifically you have to give it an external name of for
. So the solution looks like this:
func coordinates(for location: String) -> (Double, Double) {
switch location {
case "Eiffel Tower":
return (lat: 48.8582, lon: 2.2945)
case "Great Pyramid":
return (at: 29.9792, lon: 31.1344)
case "Sydney Opera House":
return (lat: 33.8587, lon: 151.2140)
default: (0,0)
}
return (0,0)
}
Craig Ward
1,149 PointsThank you. I didn't fully understand that at first but that makes perfect sense as the 'for' is required outside fo the parenthesis Cheers C