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

Jeff Wilkey
Jeff Wilkey
10,296 Points

[Swift: Functions and Optionals] Tuples Challenge Help

So the task in the challenge is "Create a variable named result and assign it the tuple returned from function greeting. (Note: pass the string "Tom" to the greeting function.)"

func greeting(#person: String) -> (language: String, greeting: String) {
    let language = "English"
    let greeting = "Hello \(person)"

    return (language, greeting)
}

var result = greeting(person: "Tom")

I tried adding changing the result line to this...

 var result = (language, greeting(person: "Tom")) 

but that didn't work either.

Any help here?

2 Answers

Oliver Pinchbeck
Oliver Pinchbeck
2,732 Points

The error checking means you have to have the tuple the other way round in the return statement. Same thing really, but this will work:

func greeting(person: String) -> (language: String, greeting:String) {
    let language = "English"
    let greeting = "Hello \(person)"

    return (greeting, language)
}

var result = greeting("Tom")
Jeff Wilkey
Jeff Wilkey
10,296 Points

Thanks Oliver it worked!

I believe they are asking for the code to be rewritten by adding a variable named result with the tuple (greeting,language) returned. Try the code below and see if that works.

func greeting(person:String)->

(greeting:String,language:String){
var result = ("Hello \(person)","English")

    return result

}

Tuples group multiple values into a single compound value and are particularly useful as the return values of functions.

Jeff Wilkey
Jeff Wilkey
10,296 Points

Oliver's answer turned out to be correct, the return value in the tuple just needed to be flipped.