ruby-reference-manual:1735
From: 5 5 <redmine@r...>
Date: Mon, 28 Sep 2009 14:22:32 +0900
Subject: [ruby-reference-manual:1735] [Bug #2150] String#partition と String#rpartition
Bug #2150: String#partition と String#rpartition http://redmine.ruby-lang.org/issues/show/2150 起票者: 5 5 ステータス: Open, 優先度: Normal カテゴリ: doc reporter: 5.5, ruby_version: 1.8, 1.9 まず,誤りについて。 String#rpartition の説明に self がセパレータを含まないときは、返り値の第 2 要素と第 3 要素が空文字列になります。 とありますが,正しくは「第 1 要素と第 2 要素」です。 また String#partition と String#rpartition ともに, self を 2 つに分割し とあります。「2 つ」と書きたい気持ちは分かるのですが,「3 つ」が適当でしょう。 String#rpartition の実行例で,メソッド名に「r」が抜けています。 次に,分かりやすくするための提案です。 partition の説明で, セパレータを含まない先頭部分 という表現がありますが,rpartition の場合を真似て 最初のセパレータより前の部分 のほうが分かりやすいと思います。 ところで,「最後のセパレータ」という表現が実はちょっとひっかかります。 「最後の」というと,String#split のように self について N 個の分割点が概念上,想定できて,その N 番目のもの,というように受け取れなくもありません。 つまり,axaxaxaxaxa を xax で分割するのに,a<xax>a<xax>axa のように考えてしまって(< > 内がセパレータ),「最後のセパレータ」での分割は ["axaxa", "xax", "axa"] となりそうです。しかし rpartition の分割はそうではありません。 「最後のセパレータ」というよりも,「最も後ろ(右?)に現れるセパレータ」のほうが正確なのではないかと思います。正規表現でいうと最右最長一致ですね。 ※この件は現行の説明でも困らないと思うので,無視していただいて結構です。 ---------------------------------------- http://redmine.ruby-lang.org -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
-> 1735 2009-09-28 07:22 [redmine@r... ] [Bug #2150] String#partition と String#rpartition 1872 2009-12-05 07:28 ┗[redmine@r... ] [Bug #2150](Closed) String#partition と String#rpartition