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 trialZachary Goforth
748 PointsHow do I pass Challenge Task 2 on optionals?
I've asked for help on this before but the code recommended didn't work. I tried: if let result = search(name:"Doc"). When I placed this code in I got this error...
swift_lint.swift:15:39: error: expected '{' after 'if' condition if let result = search(name:"Doc")
What am I doing wrong and what is the right code?
func search(#name: String) -> String? {
let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"]
for n in names {
if n == name {
return n
}
}
return nil
if let result = search(name:"Doc")
}
1 Answer
Enrique Munguía
14,311 PointsThere are two issues here, first the last line of the method (if let statement) is incomplete, you must add a pair of curly braces {} to complete the block. Second even when you fixed that, there is still a logic error, because you try to use the function within the function. The solution is to get rid of the if let statement and put it outside the function.
func search(#name: String) -> String? {
let names = ["Doc","Grumpy","Happy","Sleepy","Bashful","Sneezy","Dopey"]
for n in names {
if n == name {
return n
}
}
return nil
}
if let result = search(name:"Doc") {
println(result)
}
Zachary Goforth
748 PointsZachary Goforth
748 PointsI put in the code and received this error...
Bummer! You used println() to output the string "Doc", instead of
Found
?