【Ruby3.x】String::succ!()メソッドの使い方
succ!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
succ!メソッドは、Stringクラスに属し、文字列の「次の値」を生成し、その文字列自身を書き換える(破壊的な)メソッドです。このメソッドは、主に文字列の末尾から連続する英数字部分をインクリメント(増加)させることで、新しい文字列を生成します。例えば、「a」は「b」に、「9」は「10」に、また「az」は「ba」に、といった形で変化します。文字列中に英数字以外の文字が含まれていても、それらの文字は変更されず、末尾の英数字部分のみが処理の対象となります。
メソッド名の末尾に付いている「!(感嘆符)」は、このメソッドが呼び出し元の文字列オブジェクト自身を直接変更するという、破壊的な操作であることを示しています。そのため、元の文字列を変更せずに「次の値」を取得したい場合は、非破壊的なsuccメソッドを使用してください。
変更に成功した場合、このメソッドは変更後の文字列(レシーバ自身)を返します。しかし、文字列が空である場合(例えば、""に対して呼び出した場合)や、末尾の英数字部分をインクリメントできないと判断された場合、このメソッドはnilを返し、元の文字列は変更されません。
連番のIDを生成したり、特定の命名規則に従った次のバージョン名を取得したりする際などに活用できます。
構文(syntax)
1str = "a" 2str.succ!
引数(parameters)
引数なし
引数はありません
戻り値(return)
String
self を文字列の次の文字で置き換えた新しい文字列を返します。