ℙ𝕚𝕜𝕠𝔹𝕝𝕠𝕘 | プログラミングについて知ろう!

【HTML/CSS/JavaScript/jQuery/Ruby/Swift/MySQL/AWS】 プログラミングを 「今始めたばかりの方」や 「これから始めるか悩んでいる方」、 好きか嫌いかも分からない、 できるかどうかも分からない、 向いてるか向いてないかも分からない、 そんな思いを抱えた方へ届くような ブログを執筆していきます。

スポンサーリンク

Rubyで「 チケット発券システム 」を作る 〜後編〜

スポンサーリンク

f:id:kakikazu:20200205151819j:plain

 

 

こんにちは!

今回は、Rubyで「チケット発券システム」を作るの後半を書いていきたいと思います。

 

Rubyのクラスとインスタンスについて学ぶ

Rubyで「 チケット発券システム 」を作る 〜前編〜

 

後編は、参考サイトを読み進めると現実の行動パターンを考えて、現実の行動により近づけたリファクタリングをしていくようでした。

 

 

前編では、チケット発券システムを作りにあたり登場人物(必要なプログラムの数)を考えて実際に必要な個数のプログラムを用意しました。

 

お客さん(customer)、発券機(ticket_vending_macine)、上映映画(movie)、チケット(ticket)、最後にこれらのプログラムを集約し実行する実行専用プログラム(exec)

 

このプログラムの中身としてそれぞれにクラス(customer、ticket_vending_machine、movie、ticket)があり、その中身として様々なインスタンスがありました。

 

例をあげると

チケットの中には、初期値(initialize)として「タイトル(@title)、価格(@fee)」があります。

 ※この「 @ 」は、外のプログラムからデータを取得したいときに使用します。

 

ticket.rb

class
Ticket def initialize(movie) @title = movie.title @fee = movie.fee end end

この場合、

movie.rbというプログラムの中にある「title、fee」に@をつけることで、取得したものをticket.rbへ運んでいます。

 

このように各プログラムに対して、それぞれ役割という名のコードを記述する事で

チケット発券システムを実際に動かしていきます。

 

ターミナル
#exec.rbを実行
$ ruby exec.rb
#以下、実行される内容
どの映画を見ますか?
0 Titanic: 2000円
1 tom_and_jerry: 1500円
2 Ocean's Eleven: 1800円
0

Titanicのチケットを買ったよ!

kazukiの所持金が3000円になりました!

 

最終確認としては、

①各登場人物(プログラム)に対し、役割(コード)を示す(記述する)

②実行用プログラム(exec.rb)にて、各プログラムを呼び出し一連の動きをさせる。

という流れができました。

 

これでRubyでクラスとインスタンスの学習

「チケット発券システム」を作るは以上です。

 

 

学習にあたり参考したサイトにによると、「クラスとインスタンスを覚えてば、世の中の物はプログラムで表現できる」と書いていました。

 

すぐに何でも表現できる訳ではありませんが

これをきっかけにいろんなものをプログラムで表現できればと思います。

 

少しでもプログラミング学習のちょっとした助けになれば嬉しいです。

 

本日も最後まで読んでくださりありがとうございます。

スポンサーリンク