groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Edinson E. PadrĂ³n Urdaneta <edinson.padron.urdan...@gmail.com>
Subject Re: Escaping unicode reference in slashy string
Date Tue, 09 Feb 2016 02:55:03 GMT
Hi, David. Maybe this can be of help ~> {
http://www.groovy-lang.org/single-page-documentation.html } The Dollar
slashy string could be what you are looking for. Cheers.

On Mon, Feb 8, 2016 at 9:38 PM, David M. Karr <davidmichaelkarr@gmail.com>
wrote:

> On 02/08/2016 05:40 PM, Paul King wrote:
>
>> Unicode processing is done before anything else. For your case, you
>> need to make it not look like a unicode sequence - which you rightly
>> did with the double backslash variant. But you then need to pick the
>> GString form that does the appropriate thing with the sequence of
>> characters that passed through the initial parsing stages. So the
>> trick is to use a normal GString not a slashy string:
>>
>> def var = "c:\\uabc.txt"
>>
>
> I can see it can get complicated to select the correct form, depending on
> problematic characters in the string.  Is there anything like the Perl
> "qw()" function, which I believe augments a string with any required
> quoting to retain all the original characters?
>
>>
>> Cheers, Paul.
>>
>> On Tue, Feb 9, 2016 at 8:17 AM, David M. Karr
>> <davidmichaelkarr@gmail.com> wrote:
>>
>>> Someone was trying to point out difficulties with various string values
>>> in
>>> slashy strings.  I was able to refute most of his arguments, but he
>>> pointed
>>> out a curious issue involving unicode sequences.
>>>
>>> If you have the following:
>>> --------------
>>> def var = /c:\uabc.txt/
>>> ---------------
>>>
>>> This will fail to compile, as "\uabc." is not a valid unicode sequence.
>>>
>>> So, the obvious thing to try is this:
>>> ------------------
>>> def var = /c:\\uabc.txt/
>>> ------------------
>>>
>>> That would fix it, right?  Well, sort of.  It doesn't get a compile
>>> error.
>>> I expected it to produce "c:\uabc.txt", but instead it produced
>>> "c:\\uabc.txt".
>>>
>>> What are relatively simple workarounds for this?
>>>
>>
>

Mime
View raw message