FAQ: Closures - Closure syntactic sugar

This community-built FAQ covers the “Closure syntactic sugar” exercise from the lesson “Closures”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn Intermediate Swift

FAQs on the exercise Closure syntactic sugar

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in Language Help.

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head to Language Help and Tips and Resources. If you are wanting feedback or inspiration for a project, check out Projects.

Looking for motivation to keep learning? Join our wider discussions in Community

Learn more about how to use this guide.

Found a bug? Report it online, or post in Bug Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

[instruction 1]
why it doesn’t accepted?

print(transform ( strings: strings, transformer: {(str: String) -> String in
  return String(str.reversed())
}))

and provided solution doesn’t accept too

print(transform ( strings: strings, transformer: {(str: String) -> String in
  return String(str.reversed())
}))

these alert " Did you call the transform function with the strings array and an inline closure? Be explicit with the types."

edit > provided solution is this.

print(transform ( strings: strings ) { (str: String) -> String in
  return String(str.reversed())
})

Hi there. Even it is already answered, I agree with your soluation as it is the most explicit as possible and the one provided in soluation benefits from trailing closure and omits label “transformer” that’s why cannot be considered as the most explicit one.

Can someone explain this portion to me? where does str come from? and is there a way to define a variable a different way?

The Closure syntactic sugar question needs to be re written.

2 Likes

I finished step 1 and this is what I get in the print out:

Hmm, what variable are they pulling from as it is not what is set at the beginning.

I second duckate. The hint makes reference to the closure parameter so I would expect it to be in the answer. Sad to see that in 3 years nothing has changed. What are we paying for?

Agreed. Most explicit is not recognized.