Project

General

Profile

Bug #9883

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

This question is reported in stackoverflow (http://stackoverflow.com/questions/23946127). When a multibyte character is split by `slice`, `==` ignores the split fragment of the character, while key lookup on hash does not: 

 ~~~ruby 
 

     s1 = "’xxxxxxxxxxxxxxxxxxxxxxxx".slice(1, 24) 
 
     s2 = "xxxxxxxxxxxxxxxxxxxxxxxx" 

 

     s1 == s2            # => true 
 
     {s2=>""}.key?(s1) # => false 
 ~~~ 
 

 This is inconsistent, and I believe either of the above two is a bug. If it is not a bug, but intended, then it is misleading, and I propose the feature should be changed. 

Back