> On Dec 11, 2015, at 8:01 AM, Travis Tilley <[email protected]> wrote:
> 
> OK, I understand your problem better with that example. Perhaps a solution 
> would be to have """ process escapes while ''' starts a "raw" string. This is 
> very much in line with ruby's style of strings where processing isn't done 
> within single quoted strings:
> 
> irb(main):001:0> foo = 2
> => 2
> irb(main):002:0> "#{foo}"
> => "2"
> irb(main):003:0> '#{foo}'
> => "\#{foo}"
> 
> (Ignore that \# at the end there; that's only because the interactive console 
> returns a double quoted string. I assure you, the contents are unescaped.)
> 
> If we go with this syntax for escaped and unescaped strings, then for 
> consistency's sake it would make sense to have single-line single-quoted 
> strings that don't escape and are "raw" strings like in ruby.
> 
> CCing Chris Lattner here specifically because, in swift today, using single 
> quotes gives you a warning to just use double quotes, so he might have a 
> strong opinion on this one. The latest commit to Lexer.cpp was actually to 
> add better handling of single quoted strings (and I think more warnings if I 
> remember?).

I’m ok with repurposing single quoted strings for something else.  Making them 
be the canonical “do not process escapes” string would make sense to me.  They 
should be usable in both single line and multi-line forms.

-Chris

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to