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 Swift Functions and Optionals Parameters and Tuples Tuples

Mark Sriskulpinyo
Mark Sriskulpinyo
1,492 Points

I need help with the tuple challenge

Currently our greeting function only returns a single value. Modify it to return both the greeting and the language as a tuple. Make sure to name each item in the tuple: greeting and language.

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

return greeting

}

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

    return greeting
}

1 Answer

Jhoan Arango
Jhoan Arango
14,575 Points

Hello Mark:

challenge says:

Currently our greeting function only returns a single value. Modify it to return both the greeting and the language as a tuple. Make sure to name each item in the tuple: greeting and language. We will print them out in the next task.

let’s break it down

First part says: Modify it to return both the greeting and the language as a tuple.

/* 
   Here the function says it will return just ONE value of type String
   and we need for it to say that it will return TWO values of type String. 
*/
func greeting(person: String) -> String { 
    let language = "English"
    let greeting = "Hello \(person)”
/*
   We also need to modify our return statement to return the two values,
   meaning, a tuple.
*/
    return greeting 
}

Here are the modifications:

                               // We create a tuple
func greeting(person: String) -> (String, String) {
    let language = "English"
    let greeting = "Hello \(person)"

    return greeting
}

Then it says: Make sure to name each item in the tuple: greeting and language.

                                    // We give them names
func greeting(person: String) -> (greeting: String, language: String) {
    let language = "English"
    let greeting = "Hello \(person)"

  // And modify it so that it returns both values of the tuple. 
    return (greeting, language)
}

Hope that clears it out for you a bit.