From: murphy Date: 2007-09-11T11:12:19+09:00 Subject: Re: Encodings and String Literals > If a string literal ends with \u, \U, \E, or \S (with no hex digits > following) then the escape specifies the encoding of the string, even > when the string does not contain any characters outside of the ASCII > subset. That's a very original idea, although a bit strange. It actually looks like a syntax error: foo.bar("\uFFFFxyz\uEEEEabc\u") (As if the programmer just forgot to complete the unicode char.) It also has no apparent HEREDOC equivalent... puts < nil >> parenthesize argument(s) for future version Enhancing the popular %-notation for fancy strings seems like a nice option, and it wouldn't even break old code. But it may not be intuitive: puts %u'Jupiter' # nice puts %x'Saturn' # how to get Unicode strings executed? %xu? %ux? puts %x:u'Mercury' # ugly! puts %r'Venus'u # regular expression = special case? puts %w(Mars Zeus Baldur Aton)u # suffixes work for other literals puts :'Uranus'u # even Symbols! puts <