【Ruby3.x】String::upcase!()メソッドの使い方
upcase!メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
upcase!メソッドは、対象となる文字列オブジェクトに含まれるすべてのアルファベットの小文字を、対応する大文字に変換して、その文字列オブジェクト自身を直接変更するメソッドです。このメソッドはRubyのStringクラスに属しています。
このメソッドの大きな特徴は、名前に「!」(エクスクラメーションマーク)が付いている点です。Rubyでは、メソッド名の末尾に「!」が付く場合、そのメソッドがレシーバ(メソッドを呼び出したオブジェクト)の状態を直接変更する、いわゆる「破壊的メソッド」であることを示します。そのため、upcase!メソッドを呼び出すと、新しい文字列オブジェクトが生成されるのではなく、元の文字列オブジェクトの内容そのものが大文字に書き換えられます。数字や記号、既に大文字の文字については、変換されずにそのまま維持されます。
戻り値に関しては特別なルールがあります。文字列の内容が実際に変更された場合は、変更後の文字列オブジェクト自身(レシーバ)を返します。しかし、もし文字列が既にすべて大文字であり、何も変更する箇所がなかった場合、このメソッドはnil(何も存在しないことを示す特別な値)を返します。このnilを返す挙動は、文字列に実際の変更が加えられたかどうかをプログラムで確認したい場合に非常に役立ちます。例えば、ユーザー入力の正規化処理において、入力が実際に変更されたかどうかを効率的に判断する用途などで利用されます。
構文(syntax)
1string_variable.upcase!
引数(parameters)
引数なし
引数はありません
戻り値(return)
String または nil
対象の文字列をすべて大文字に変換した結果を返します。変換が行われた場合は変換後の文字列を、行われなかった場合はnilを返します。