Raw strings starting/ending with backtick (original) (raw)

Brian Goetz brian.goetz at oracle.com
Sat Nov 24 16:22:01 UTC 2018


No. The compiler can do constant folding of such expressions.

Sent from my iPad

On Nov 24, 2018, at 10:34 AM, Weijun Wang <weijun.wang at oracle.com> wrote:

On Nov 24, 2018, at 9:11 PM, Jim Laskey <james.laskey at oracle.com> wrote: There are several approaches but the simplest is using strip(). Example, `abc`.strip() Concat is another approach, ” + abc + “ But this means the literal inside the constant pool of the class will be "abc ", right? This is a little uncomfortable to me. Not perfect but other delimiter choices also have these edge cases. How about the Rust r###"..."### style? Thanks Max Cheers, — Jim

Sent from my iPad On Nov 24, 2018, at 8:55 AM, Attila Kelemen <attila.kelemen85 at gmail.com> wrote: Hi, Reading the JEP on raw string literals, I saw no mentions of the case when a string starts (or ends) with backtick. I guessed, that maybe the compiler will close the literal when it finds more than half the number of backticks than the beginning (nothing implied this behaviour just tried it and I know that it might be very suprising in other cases). I have tried with the latest early access compiler and (not too suprisingly) it didn't behave this way and simply failed when starting the literal with a backtick. My question is, of course: What is the strategy for this case? Or is it explicitly ignored as too much of an edge case (and left to the developer to deal with)? Thanks, Attila Kelemen



More information about the compiler-dev mailing list