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

プログラミング道場

【Ruby入門】Structを使ってみよう(Hashよりいい時もあります)

投稿日:

記事の内容


RubyでStructを使うと、どう便利なのかを説明します。
Structとは、構造化データを扱うためのものです。
クラスを作るほどの規模ではない時に、Structを使います。
この記事では、Structを使うコードとHashのコードを比較するので、違いがわかりやすいはずです。

Hashを使ったコード

まず最初に、Hashを使ってデータを入れるプログラミングを書きます。
ここでは、簡易に書くために配列にデータを持っていますが、実際のプログラムではDBかもしれないし、csvファイルかもしれません。
日付、一日の最低気温、一日の最高気温を保存していると仮定します。
これだけのデータだと、Hashで管理しても大した問題はなさそうです。

Hashを使ったコードを変更

上記のコードを改良して、(最低気温と最高気温)を2で割った値も管理するようにします。
これだけならば、まだHashでも管理できますが、さらに複雑な計算をするようになるとHashで管理するには煩雑になってきます。

Structを使ったコードに変更

Hashで管理した時の煩雑さを、どう解決したらいいのでしょうか?
そこで、Structという構造体クラスを使います。

まとめ

この記事では、Structの説明をしました。
Hashを使っているコードが複雑だなと思った時は、Structを使うことを考えてみて下さい。

Good luck for your engineer life!

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

Rubyの学習でオススメの本【2019年最新】

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

続きを見る


30代からプログラミングを始めようか迷っている人は、この記事を読んで下さい

30代からプログラミングを始めることは可能なのか?【頑張ればギリギリセーフ】

エンジニアは人気の職種だと聞いていますが、若い人達が多い印象です。 30代から始めても間にあいますか? 2030年には79万人のエンジニアが不足 まずは、今後、10年間以上に渡るエンジニアの需給について確認しましょう。 自分の身を預けたいと ...

続きを見る


プログラミングスクールに行くか迷っている人は、この記事を読んで下さい

なんとなく、エンジニアになりたい人が無料のプログラミングスクールに行くべき理由【2019年12月の最新】

有料や無料のプログラミングスクールが多すぎて、どこにしようか迷っています。 無料のプログラミングスクールは、お得そうに見えますが、実際の所はどうですか? メリットやデメリットなどがあれば教えて下さい。 無料のスクールを推す理由 まずは、私が ...

続きを見る


自分がプログラミングスクールに行っても大丈夫か知りたい人は、この記事を読んで下さい

プログラミングスクールに通って挫折する人と上手くいく人の違い

スクールに通っている人の3パターン プログラミングスクールに通っている人のパターンを整理すると、以下の3パターンに分かれます。 それぞれのタイプの特徴を、もう少し詳細に説明していきます。 それぞれのタイプの特徴 大した努力をせずに文句ばかり ...

続きを見る


ゼロからWebエンジニアになりたい人は、この記事を読んで下さい

ゼロからWebエンジニアとして就職する方法【何もない自分に積み上げていく】

ちまたには、「エンジニアになるための情報」で溢れかえっています。 ジョージさんが考える「Webエンジニアになる方法」を教えて下さい。 私が定義するWebエンジニア まず、最初に以下の図を見て下さい。 これが、Web業界で働く人達の大分類です ...

続きを見る


独学で実務っぽい経験を積みたい人は、この記事を読んで下さい

エンジニアが独学で実務経験っぽいことを学ぶ方法

エンジニアとして就職するためには実務経験が大事だと聞いていますが、就職しないことには実務経験を積むことができません。 どうやって、最初の実務経験を積んだらいいでしょうか? スクールの理想と現実 これからプログラミングを学ぼうとしている人が描 ...

続きを見る

関連コンテンツ

-Ruby, プログラミング

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