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.