Rubyでは、特定のシナリオで使用するシンボルや文字列を選択する方法は? - ルビー

私は様々なウェブサイトでこの答えを見ています:

オブジェクトの内容(文字の並び)が 重要です。文字列を使用します。オブジェクトのIDが重要な場合は、 シンボルを使用する

しかし、これは実際にはどういう意味ですか?素人でも分かる説明をお願いします。

回答:

回答№1は5
a = :foo
b = :foo

a そして b メモリ内の同じオブジェクトを参照します(同じアイデンティティ)

a.object_id # => 898908
b.object_id # => 898908

文字列の動作が異なります

a = "foo"
b = "foo"

a.object_id # => 70127643805220
b.object_id # => 70127643805200

したがって、文字列を使用してデータを格納し、データの操作(文字やその他のものを置き換える)を行い、シンボルを使用して物事(ハッシュまたは何かのキー)の名前を付けます。また見てください この答え シンボルのより多くのユースケース。


最も人気のある
ザルツファンデーション