08-Mar-2014 19:32, Andrei Alexandrescu пишет:
On 3/8/14, 12:09 AM, Dmitry Olshansky wrote:
08-Mar-2014 05:23, Andrei Alexandrescu пишет:
On 3/7/14, 1:58 PM, Vladimir Panteleev wrote:
On Friday, 7 March 2014 at 21:56:45 UTC, Eyrk wrote:
On Friday, 7 March 2014 at 20:43:45 UTC, Vladimir Panteleev wrote:
No, it doesn't.

import std.algorithm;

void main()
{
   auto s = "cassé";
   assert(s.canFind('é'));
}


Hm, I'm not following? Works perfectly fine on my system?

Something's messing with your Unicode. Try downloading and compiling
this file:
http://dump.thecybershadow.net/6f82ea151c1a00835cbcf5baaace2801/test.d

Yup, the grapheme issue. This should work.

import std.algorithm, std.uni;

void main()
{
     auto s = "cassé";
     assert(s.byGrapheme.canFind('é'));
}

It doesn't compile, seems like a library bug.

Becasue Graphemes do not auto-magically convert to dchar and back? After
all they are just small strings.

Yah but I think they should support comparison with individual
characters. No?


We could add one. I don't think Grapheme interface is optimal or set in stone.

The following should work as is though:

s.byGrapheme.canFind(Grapheme("é"))


Andrei



--
Dmitry Olshansky

Reply via email to