Project

General

Profile

Actions

Bug #9883

closed

Different behaviour between `==` and hash key lookup regarding multibyte character fragment

Added by sawa (Tsuyoshi Sawada) over 10 years ago. Updated over 10 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
2.1
Backport:
[ruby-core:62848]

Description

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:

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.


Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Bug #9882: Issue with hash string keysClosed05/30/2014Actions

Updated by phasis68 (Heesob Park) over 10 years ago

This issue is a duplicate of Bug #9882.

And already solved with changeset r46243.

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Is duplicate of Bug #9882: Issue with hash string keys added

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Status changed from Open to Closed
  • Description updated (diff)
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0