[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:1811

From: Nobuhiro IMAI <redmine@r...>
Date: Sat, 31 Oct 2009 08:55:40 +0900
Subject: [ruby-reference-manual:1811] [Bug #2305] String#{chomp,chomp!}

チケット #2305 が更新されました。 (by Nobuhiro IMAI)


>> あと、String#{chomp,chomp!} は改行コードだけではなく、
>> 任意の文字列を末尾から削除するメソッドだと思うので、
> 
> それは m がないほうです (String#{chop,chop!})

* chop
** 引数を取らず、有無をいわさず一文字削除
* chomp
** 引数を与えなければ末尾にある改行コードを削除
** 与えれば末尾でそれに一致する部分文字列を削除

で、

# chop
"foo\n".chop      #=> "foo" (改行コードだろうが→)
"foo".chop        #=> "fo"  (何だろうが一文字削除)
"foo".chop("oo")  #=> ArgumentError: wrong number of arguments (1 for 0)

# chomp
"foo\n".chomp     #=> "foo" (改行コードなので削除)
"foo".chomp       #=> "foo" (改行コードがないので何もしない)
"foo".chomp("oo") #=> "f"   (指定すれば何でも取り除ける)

ということで、chomp は(引数で指定さえすれば)任意の文字列が削除できますよね。
つまり chomp はデフォルトで改行コードを削除するというだけで、
その実、任意の文字列を末尾から削除するメソッドだと言えると思うのですが、
どうでしょうか?


----------------------------------------
http://redmine.ruby-lang.org/issues/show/2305

----------------------------------------
http://redmine.ruby-lang.org

--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      1808 2009-10-29 04:56 [redmine@r...        ] [Bug #2305] String#{chomp,chomp!}       
      1810 2009-10-30 20:38 ┣[redmine@r...        ]                                       
->    1811 2009-10-31 00:55 ┣[redmine@r...        ]                                       
      1813 2009-10-31 05:47 ┣[redmine@r...        ]                                       
      1843 2009-12-02 05:14 ┗[redmine@r...        ] [Bug #2305](Closed) String#{chomp,chomp!}