1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ruby シンボルを理解する

Last updated at Posted at 2021-11-22

ハッシュについて

ハッシュとは配列と似たようなもので、配列は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

## 参考にしたサイト

1
0
1

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?