【Ruby3.x】String::-@()メソッドの使い方
-@メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
-@メソッドは、文字列の複製を作成し、その複製をフリーズするメソッドです。フリーズとは、文字列を不変(immutable)な状態にすることです。一度フリーズされた文字列は、その内容が変更不可能となります。これにより、文字列オブジェクトの安全な利用を保証します。
このメソッドが呼び出された際、もし対象となる文字列が既にフリーズされている場合は、その文字列オブジェクト自身をそのまま返します。対象の文字列がまだフリーズされていない場合は、まず元の文字列の複製を作成します。次に、その複製をフリーズ状態にし、そのフリーズされた複製を返します。この処理において、元の文字列オブジェクト自体は変更されません。
文字列を不変にすることで、複数の場所で同じ文字列オブジェクトが共有される際に、意図しない変更による問題を防ぐことができます。これにより、プログラムの予期せぬ動作を抑制し、安全性を向上させる効果があります。また、不変な文字列は、一部の最適化処理においてパフォーマンス上のメリットをもたらすこともあります。特に、定数として扱いたい文字列や、ハッシュのキーとして利用するなど、変更されるべきではない文字列に対して使用することが推奨されます。このメソッドは、常にフリーズされた文字列オブジェクトを返しますが、元の文字列がフリーズされていなかった場合、返されるのは複製であることに注意してください。
構文(syntax)
1-"string"
引数(parameters)
引数なし
引数はありません
戻り値(return)
String
このメソッドは、レシーバー(メソッドを呼び出した文字列)を数値に変換した結果を返します。数値に変換できない場合は、例外が発生します。