groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paolo Di Tommaso <paolo.ditomm...@gmail.com>
Subject Re: How create a custom string literal type
Date Sun, 03 May 2015 17:27:01 GMT
No, because I need variable interpolation but using a placeholder other
than $.

The aim is to mix bash and groovy code in the same script string, using the
$ for bash variables (without having to escape them) and another character
for groovy variables.

Maybe using an antlr parser plugin ?


Cheers,
Paolo


On Sun, May 3, 2015 at 6:44 PM, Guillaume Laforge <glaforge@gmail.com>
wrote:

> What about the triple single quotes which are not GStrings?
>
> def myString = '''
> $HOME
> '''
>
> 2015-05-03 18:07 GMT+02:00 Paolo Di Tommaso <paolo.ditommaso@gmail.com>:
>
>> Well, the goal is exactly to avoid the need to escape the $ characters !
>>
>> On Sun, May 3, 2015 at 6:05 PM, Owen Rubel <orubel@gmail.com> wrote:
>>
>>> I believe you need you have it in quotes and escape with backlslash and
>>> escape the backslash as well
>>>
>>> def myString = '\\$variable'
>>>
>>> might be three backslashes though
>>>
>>> Owen Rubel
>>> 415-971-0976
>>> orubel@gmail.com
>>>
>>> On Sun, May 3, 2015 at 9:01 AM, Paolo Di Tommaso <
>>> paolo.ditommaso@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I would need to implement a string literal in which the dollar char is
>>>> not interpreted as variable placeholder, indeed to use a custom character
>>>> to interpolate variables.
>>>>
>>>> For example I would like define a string like this:
>>>>
>>>>
>>>> def DONE = 'Task completed'
>>>>
>>>>
>>>> def script = /%
>>>>
>>>> mv file_name $HOME
>>>> echo %DONE
>>>> /%
>>>>
>>>>
>>>>
>>>> In which the $HOME string is ignored while  %DONE is interpolated as a
>>>> groovy variable.
>>>>
>>>> Is there any way to do that ?
>>>>
>>>>
>>>> Cheers,
>>>> Paolo
>>>>
>>>>
>>>>
>>>>
>>>
>>
>
>
> --
> Guillaume Laforge
> Groovy Project Manager
> Product Ninja & Advocate at Restlet <http://restlet.com>
>
> Blog: http://glaforge.appspot.com/
> Social: @glaforge <http://twitter.com/glaforge> / Google+
> <https://plus.google.com/u/0/114130972232398734985/posts>
>

Mime
View raw message