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 Functions Syntax and Parameters

Kris Larsen
Kris Larsen
8,015 Points

modify println

Modify the println statement within the greeting function to use the variable person. For example, if you pass a person named "Tom" to the function then it should display: Hello Tom. (Hint: you must use string interpolation).

what am I doing wrong?

parameters.swift
func greeting(person: String) {
    var person = "Tom"
    println("Hello", person)
}

2 Answers

The question asks you to use "String Interpolation", a super handy way to use the parameter of the function. Basically think of it as a placeholder for your code for whatever the value you need to pass.

  1. In the challenge, you first want to have the function accept a parameter of type String with name person (you did this correctly) :
func greeting(person: String) {
}
  1. To use the variable "person", you can use string interpolation in the print statement. Start with the "\" symbol followed by parentheses. Inside the parentheses you use parameter name (in this case, "person"). So your function should end up being:
func greeting(person:String) {
    println("Hello \(person)")
}

Bonus: This works with strings in various contexts as well and can be used in conjunction with other functions, for example if you were like me and were lazy at naming images and wanted to pick a random image from images named image1, image2, image3, etc.

logoImage.image = UIImage(named: "image\(arc4random_uniform(10) + 1).png")

just try this

func greeting(person: String) {
   println("Hello \(person)")
}