Using "$" in Groovy

I see { } are used for closures, and then I believe when a $ is put in front of braces, it is simply doing a variable substitution within a string. I can't find the documentation on how the $ works in the reference ... hard to search on it unfortunately, and the Groovy String documentation is lacking in introducing this. Can you please point me to the documentation and/or explain the "$" operator in Groovy -- how all it can be used? Does Grails extend it at all beyond Groovy?

4 Answers

In a GString (groovy string), any valid Groovy expression can be enclosed in the ${...} including method calls etc.

This is detailed in the following page.

3

Grails does not extend the usage of $ beyond Groovy. Here are two practical usages of $

String Interpolation

Within a GString you can use $ without {} to evaluate a property path, e.g.

def date = new Date()
println "The time is $date.time"

If you want to evaluate an expression which is more complex than a property path, you must use ${}, e.g.

println "The time is ${new Date().getTime()}"
Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.