Ruby シンボルの使い方のサンプル

環境
Windows11 pro 64bit
ruby ruby 3.0.3p157

構文
シンボル名は、名前の前にコロン(:)を記述することで Symbol型を定義できます。

使用例1

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
str = "study"
sym = :study
p str.class
p sym.class
str = "study" sym = :study p str.class p sym.class
str = "study"
sym = :study

p str.class
p sym.class

結果
String
Symbol

使用例2
シンボルを利用する場合、文字列が同じオブジェクトとなります。
サンプルコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sym1 = :study
sym2 = :study
# 同じオブジェクトかどうか
p sym1.equal? sym2
# オブジェクトIDを確認
p sym1.object_id
p sym2.object_id
sym1 = :study sym2 = :study # 同じオブジェクトかどうか p sym1.equal? sym2 # オブジェクトIDを確認 p sym1.object_id p sym2.object_id
sym1 = :study
sym2 = :study

# 同じオブジェクトかどうか

p sym1.equal? sym2

# オブジェクトIDを確認

p sym1.object_id
p sym2.object_id

結果
true
1086428
1086428

Ruby

Posted by arkgame