1
2

More than 1 year has passed since last update.

【シンボルについて】「:hoge」だったり「 hoge:」だったり【ややこしいから整理した】

Posted at
# 普通のハッシュ   (ハッシュの値の呼び方は、  hash[“key1”] ) 
hash = {“key1” => value1, “key2” => value2} 

# 前置コロンを使う    (ハッシュの値の呼び方は、 hash[:key1] )   
hash = {:key1 => value1, :key2 => value2}   

# 後置コロンを使う   (ハッシュの値の呼び方は、 hash[:key1] )  
hash = {key1: value1, key2: value2} 

普通のハッシュ

キー名を文字列で指定して、「=>」でつないでキーに対応する値を記載します。
ハッシュの値を呼ぶ時は、キー名の文字列を指定します。

前置コロン(シンボル)を使う

まず、コロンをキー名の前に書く前置コロンは、シンボルを表します。

シンボルとは、Rubyのオブジェクトのひとつの種類です。文字列の代わりに使うこともできますが、必ずしも文字列と同じ挙動をするわけではなく別物です。

ハッシュでは、キー名指定の部分をシンボルで置き換えることができます。「“key1”」の部分が「:key1」となります。文字列ではなくシンボルなので、クォーテーションはつけません。キー名に対応する値の記載方法は前項のものと同じで「=>」でつないで指定します。

ハッシュの値を呼ぶ時は、シンボルで指定します。

後置コロンを使う(シンボル指定で=>を省略)

コロンをキー名の後ろに書く後置コロンは、キー名をシンボルにして=>を省略できる書き方です。

「:key1 => 」という部分が、「key1: 」に置き換えられます。

ハッシュではこの書き方が一般的なようです。

この場合も、シンボルでキー名を指定していることには変わりないので、ハッシュの値を呼ぶ時はシンボルで指定します。

引用元
https://setechlog.com/ruby-hash-colon/

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2