ハッシュについて
ハッシュとは配列と似たようなもので、配列はindex(0から始まる投資番号)でvalue(値)を管理するのに対して、key(文字列のものとシンボルがある)によってvalue(値がある)。
以下にハッシュの例としてuserハッシュを用意する.
Ruby
user = { 'name' => '田中',
'email' => 'tanaka@example.com'}
あれこれ連想配列じゃん、javascriptのオブジェクトじゃんと思った人も多いと思う。呼び名が違うだけで実際ほぼ同じである。しかし、keyの値が文字列になっているし、=> このような記号が使われている。(PHPなら使われていたような...)
####Javascript
user = { name: '田中',
email: 'tanaka@example.com'}
keyの値を文字列以外で書くことも可能!!
##シンボルを使う
こちらの方がbetterらしい
Ruby
user = { :name => '田中',
:email => 'tanaka@example.com'}
だいぶjavascriptに近づいた。:key名 でこのようにシンボルを書くことができる。さらに省略記法があるというので書いてみる
Ruby
user = { name: '田中',
email: 'tanaka@example.com'}
あれ上のjavascriptと同じだ!!Rubyのversionが上がっていくごとにこのような他の言語と合わせるような書き方になったらしい。
注意したい点
Javascriptと全く同じであるかというとそういう訳ではない。呼び出したい時に異なる。
Javascript
console.log(user[name])
//または
console.log(user.name)
Ruby
p user[:name]
出力方法はさておきRubyではシンボルの名残が残っていることに注目したい。
まとめ
Rubyではシンボルと呼ばれるあまり他の言語では見られない形式を使ってハッシュ(連想配列)のキーにしていたが、他の言語とできるだけ近い形になるように変化してきた。このように他の言語に影響されて書き方が変わることは非常に多い。さらに統一化が進み言語が一つになれば学習コストが下がるのになと思ったw
## 参考にしたサイト