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.

Jonathan Elder
983 PointsHow do i modify this code to return both the greeting and the language as a tuple?
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
}
let (greeting, language) = greeting(person: "Tom")
2 Answers

Don Miller
1,773 PointsYou can name the tuples by using a name and colon:
func greeting(#person: String) -> (greeting: String, language: String) {
let language = "Spanish"
let greeting = "Hello \(person)"
return (greeting, language)
}
let languageGreeting: (greeting:String, language:String) = greeting(person: "Tomas")

Don Miller
1,773 Pointsfunc greeting(#person: String) -> (greeting: String, language: String) {
let language = "Spanish"
let greeting = "Hello \(person)"
return (greeting, language)
}
let languageGreeting: (greeting:String, language:String) = greeting(person: "Tomas")
languageGreeting.language //choose one of the defined
Jonathan Elder
983 PointsJonathan Elder
983 Pointsthat code is all correct but it wasn't the answer they were looking for apparently. It still gave me the "Bummer! Your function needs to return a tuple with elements named 'greeting' and 'language'." error.
Don Miller
1,773 PointsDon Miller
1,773 PointsI edited the code to name each of the tuple variables.
Jonathan Elder
983 PointsJonathan Elder
983 PointsThanks that worked!
Jonathan Elder
983 PointsJonathan Elder
983 Pointslast question
''' func greeting(#person: String) -> (greeting: String,language: String) { let language = "English" let greeting = "Hello (person)"
return (greeting, language)
}
let languageGreeting: (greeting:String, language:String) = greeting(person: "Tom")
var result = greeting(person: "Tom") println("(result)") '''
It prints "(Hello Tom, English)" it needs to print "English". How do i fix that?