iOS Closures in Swift First Class Functions Higher Order Functions

Jane Biehl
Jane Biehl
194 Points

I don't understand the first question.

In an extension to the String type, declare a function named transform. The function should accept as an argument another function of type (String) -> String. For this argument, let's omit the external label. The transform function should also return a String.

1 Answer

Jhoan Arango
MOD
Jhoan Arango
Treehouse Moderator 12,837 Points

Hello,

So we are going to follow the steps one by one as requested in the challenge.

// In an extension to the String type, declare a function named transform. 
// The function should accept as an argument another function of type (String) -> String.
// For this argument, let's omit the external label. The transform function should also return a String.

// Extension
 extension String {

// Declaring a function named "transform", with an argument that accepts another function.
// Also we omit the external label by using _. 
// The transform function has a return type of "String"
// And finally we return the handler with "self". 

func transform( _ handler: (String) -> String) -> String {
return handler(self)
}


}

Hope this helps you, if you have any questions please let me know..

Good luck.