On Thursday, 18 October 2012 at 08:58:57 UTC, foobar wrote:
IMO, this is a redundant feature that complicates the language
for no benefit and should be deprecated.
strings already have an escape sequence for specifying
code-points "\u" and for ubyte arrays you can simply use:
immutable(ubyte)[] data2 = [0xA1 0xB2 0xC3 0xD4];
So basically this feature gains us nothing.
Have you actually ever written code that requires using code
points? This feature is a *huge* convenience for when you do.
Just compare:
string nihongo1 = x"e697a5 e69cac e8aa9e";
string nihongo2 = "\ue697a5\ue69cac\ue8aa9e";
ubyte[] nihongo3 = [0xe6, 0x97, 0xa5, 0xe6, 0x9c, 0xac, 0xe8,
0xaa, 0x9e];
BTW, your data2 doesn't compile.