Feature #2093
String#stripの対象は\sか[:space:]か
| Status: | Closed | Start date: | 09/13/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 100% |
||
| Category: | M17N | |||
| Target version: | 1.9.2 |
Description
現在、String#strip は rb_enc_isspace を使っています。 つまり、[:space:] にマッチするものを落とすため、 例えばいわゆる全角空白等も切り落とす対象になっています。 しかし、他の Ruby core API は ASCII を意識した動きをすることが多く、 strip はちょっと予想を裏切る動作になっています。 なんとなくただの修正漏れのように感じるのですがどうでしょう?
Related issues
Associated revisions
* string.c (rb_str_lstrip_bang): use ascii_isspace(). [ruby-dev:39322]
* string.c (rb_str_rstrip_bang): ditto.
* string.c (rb_str_split_m): ditto.
History
Updated by matz (Yukihiro Matsumoto) over 2 years ago
まつもと ゆきひろです 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を使うべきでしょう。
Updated by matz (Yukihiro Matsumoto) over 2 years ago
まつもと ゆきひろです 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:]を使ってました。これも揃え て直します。
Updated by matz (Yukihiro Matsumoto) over 2 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
Applied in changeset r24926.