プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

私がおすすめするプログラミング教材のまとめ【書籍と動画】

これからエンジニアになりたい人へ向けた本 私が書いた、「これからエンジニアになりたい人」に向けた本です。 最近、世間ではプログラミングの必要性が声高く叫ばれるようになりました。 子供向けには2021年からプログラミング教育が義務教育で実施さ ...

続きを見る

【Ruby入門】シンボル(コロン記号)をちゃんと理解しよう

更新日:

記事の内容


この記事では、Rubyのシンボル(symbol)について説明します。

シンボルとは何か?

シンボルは、文字列の前にコロン(「:」)をつけて使います。
シンボルとは、公式では、このように説明されています

シンボルを表すクラス。
シンボルは任意の文字列と一対一に対応するオブジェクトです。
文字列の代わりに用いることもできますが、必ずしも文字列と同じ振る舞いをするわけではありません。
同じ内容のシンボルはかならず同一のオブジェクトです。

これだけでは、わかりづらいと思うので、実際にコードを交えてシンボルの特徴を見ていきましょう。

シンボルの特徴

  • コロン(「:」)を使う
  • 表面上は文字列っぽいので、プログラマにとって理解しやすい。
  • 内部的には整数なので、コンピュータは高速に値を比較できる。
  • 同じシンボルは同じオブジェクトであるため、メモリの使用効率が良い。
  • イミュータブルなので、勝手に値を変えられる心配がない。

シンボルは、Hashの定義でよく使われます

Hashを作る際には、シンボルを使った方が高速に動作します。
シンボルを使った2つのHashの生成方法を紹介します。

まとめ

この記事では、シンボルの詳細な説明を紹介しました。
Hashを作る時には、できるだけシンボルを使うようにしましょう。

Good luck for your engineer life!

この記事が面白かった人は、こちらの記事も読んでみて下さい。

Rubyをより詳しく勉強したい人は、この記事を読んで下さい

Rubyの学習でおすすめの本と動画【2021年最新】

初心者向け【入門編】 スラスラ読める Rubyふりがなプログラミング ふりがなプログラミングシリーズのRuby版です。 文句なしに、やさしい内容なので、これからプログラミングを始めてみようという人は、この本から始めると良いかもしれません。 ...

続きを見る


Ruby on Railsをより詳しく勉強したい人は、この記事を読んで下さい

Ruby on Railsの学習でおすすめの本と動画【2021年最新】

初心者向け Ruby on Rails 5.0 初級① Ruby on Railsは、基本的には初心者向けではありません。 ただし、これらの本は、比較的、簡単に書かれています。 プログラミング経験が浅くてRailsを勉強したい人は、この本か ...

続きを見る


Javaをより詳しく勉強したい人は、この記事を読んで下さい

Javaの学習でおすすめの本と動画【2021年最新】

初心者向け 2週間でJava SE Bronzeの基礎が学べる本 Java SE Bronzeをこれから取得しようという人向けの書籍です。 14日で区切られている各章は、図を積極的に取り入れてわかり易いです。 職業訓練についていけなくて参考 ...

続きを見る


Go言語をより詳しく勉強したい人は、この記事を読んで下さい

Go言語の学習でおすすめの本と動画【2021年最新】

初心者向け 入門Goプログラミング 海外で評判がよい入門書の翻訳版です。 テンポよく学んでいけるのはいいのですが、翻訳が完全とは言えません。 プログラミング経験が浅い人にはいいと思います。 改訂2版 基礎からわかる Go言語 Go言語のバー ...

続きを見る


Gitをより詳しく勉強したい人は、この記事を読んで下さい

Gitの学習でおすすめの本と動画【2021年最新】

漫画?でわかりやすく学ぶ入門書の定番 わかばちゃんと学ぶGit使い方入門 Gitの入門書の定番と言っても差し支えありません。 絵や図で解説している本なので、わかりやすく頭に入ってきます。 サルでもわかるGit入門 Gitの解説サイトが書籍化 ...

続きを見る


ErlangとElixirをより詳しく勉強したい人は、この記事を読んで下さい

ErlangとElixirの学習でおすすめの本と動画【2021年最新】

Erlang すごいErlangゆかいに学ぼう Erlangの入門書です。 言語の特徴が具体的なコード例と一緒に解説されています。 Erlangらしい関数型言語の良さがわかる内容です。 プログラミングErlang Erlangの強みである並 ...

続きを見る

関連コンテンツ

-Ruby, プログラミング

Copyright© プログラミング道場 , 2021 All Rights Reserved Powered by AFFINGER4.