Rubyのコロン演算子とは何ですか? 質問する

Rubyのコロン演算子とは何ですか? 質問する

と言う場合{ :bla => 1, :bloop => 2 }、 は具体的に何をするのでしょ:うか? どこかで、 は文字列に似ているが、どういうわけかシンボルであると読んだことがあります。

この概念がよく分からないのですが、誰か教えていただけませんか?

ベストアンサー1

:fooは「foo」という名前のシンボルです。シンボルには、同じ名前の 2 つのシンボルは同一であるという明確な特徴があります。

"foo".equal? "foo"  # false
:foo.equal? :foo    # true

これにより、2 つのシンボルの比較が非常に高速になります (文字列のようにすべての文字を比較するのではなく、ポインタの比較のみが行われるため)。また、同じシンボルのコピーが無数に存在することもなくなります。

また、文字列とは異なり、シンボルは不変です。

おすすめ記事