4 ms·
Happy to see that ruby (2.0 at least) passes all the tests except the "baffle" one. Edit: sadly, it doesn't.
by shioyama 13y ago
Happy to see that ruby (2.0 at least) passes all the tests except the "baffle" one.
Edit: sadly, it doesn't.
- judofyr 13y ago"noe\u0308l".size # => 5 ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
- shioyama 13y agoAh, oops. I read the post too quickly, now I see the problem.
- monkeyninja 13y ago"noe\u{0308}".size => 4 You code is wrong
- judofyr 13y agoYou forgot the "l": "noe\u{0308}" # => "noë"
- mef 13y agoIf you're using Rails, the ActiveSupport::Multibyte::Chars library (#mb_chars on any string) passes all these tests except the upcase of baffle: irb(main):001:0> RUBY_VERSION => "1.9.3" irb(main):002:0> Rails.version => "3.2.14" irb(main):003:0> # example 1 irb(main):004:0* example1 = "noe\u0308l".mb_chars => noël irb(main):005:0> example1.reverse => lëon irb(main):006:0> example1.compose.slice(0,3) => noë irb(main):007:0> example1.g_length #grapheme_length => 4 irb(main):008:0> example1.compose.length => 4 irb(main):009:0> # example 2 irb(main):010:0* example2 = "😸😾".mb_chars => 😸😾 irb(main):011:0> example2.length => 2 irb(main):012:0> example2.slice(1,1) => 😾 irb(main):013:0> example2.reverse => 😾😸 irb(main):014:0> # example 3 irb(main):015:0* example3 = "baffle".mb_chars => baffle irb(main):016:0> example3.upcase => BAfflE irb(main):017:0> # example 4 irb(main):018:0* example4 = "noël".mb_chars => noël irb(main):019:0> example4 == example1 => false irb(main):020:0> example4 == example1.compose => true