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