Project

General

Profile

Feature #2093

String#stripの対象は\sか[:space:]か

Added by naruse (Yui NARUSE) almost 10 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Target version:
[ruby-dev:39322]

Description

=begin
現在、String#strip は rb_enc_isspace を使っています。
つまり、[:space:] にマッチするものを落とすため、
例えばいわゆる全角空白等も切り落とす対象になっています。

しかし、他の Ruby core API は ASCII を意識した動きをすることが多く、
strip はちょっと予想を裏切る動作になっています。

なんとなくただの修正漏れのように感じるのですがどうでしょう?
=end


Related issues

Related to Backport191 - Backport #2477: String#split should be ASCII sensitiveClosedActions
Related to CommonRuby - Feature #7845: Strip doesn't handle unicode space characters in ruby 1.9.2 & 1.9.3 (does in 1.9.1)Open02/14/2013Actions

History

#1

Updated by matz (Yukihiro Matsumoto) almost 10 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:39322] [Feature #2093] String#stripの対象は\sか[:space:]か"
on Sun, 13 Sep 2009 02:25:08 +0900, Yui NARUSE redmine@ruby-lang.org writes:

|現在、String#strip は rb_enc_isspace を使っています。
|つまり、[:space:] にマッチするものを落とすため、
|例えばいわゆる全角空白等も切り落とす対象になっています。
|
|しかし、他の Ruby core API は ASCII を意識した動きをすることが多く、
|strip はちょっと予想を裏切る動作になっています。
|
|なんとなくただの修正漏れのように感じるのですがどうでしょう?

そうですね。単なるisspaceを使うべきでしょう。

=end

#2

Updated by matz (Yukihiro Matsumoto) almost 10 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:39336] Re: [Feature #2093] String#stripの対象は\sか[:space:]か"
on Tue, 15 Sep 2009 02:56:04 +0900, Yukihiro Matsumoto matz@ruby-lang.org writes:

||現在、String#strip は rb_enc_isspace を使っています。
||つまり、[:space:] にマッチするものを落とすため、
||例えばいわゆる全角空白等も切り落とす対象になっています。
||
||しかし、他の Ruby core API は ASCII を意識した動きをすることが多く、
||strip はちょっと予想を裏切る動作になっています。

|そうですね。単なるisspaceを使うべきでしょう。

いざ修正してみるとsplitも[:space:]を使ってました。これも揃え
て直します。

=end

#3

Updated by matz (Yukihiro Matsumoto) almost 10 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r24926.
=end

Also available in: Atom PDF