15
1

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.

ElixirAdvent Calendar 2023

Day 5

自衛官からエンジニアへ Elixirから始める Web開発 Part 5

Last updated at Posted at 2023-12-04

この記事は「Elixir Advent Calendar 2023」5日目の記事です
東京にいるけどfukuokaexのYOSUKEです。

普段は 合同会社TheWaggle で教材開発・システム開発・研修講師などマルチに活動してます。

このシリーズでは、文系ですらない、体育会系でも始められるプログラミング学習 というテーマで元自衛官だった僕が
自衛官からエンジニアになってもらいたいという気持ちを込めて、普段は大人しいですが、このコラムシリーズでは、あえて、体育会系のノリで、貴様ら理屈で覚えるなら体で覚えろ!というノリで書いてみたいと思います。

なので、初学者向けですが、理論は後回し、まずは動かして体感しろってノリの第5回目です。

それでは、いくぞ!

前回覚えたアトム、タプル、数値を使って武器情報を整理せよ!

いいか、貴様ら!
今日は前回までに覚えた、アトム、タプル、数値を使って、64式、89式、20式、重機関銃の武器情報と、それぞれの武器に利用する銃弾の関係を整理しろ!わかったな!

まず、それぞれ銃の名前をアトムで作成しろ。こんな感じだ!

:"64式"
:"89式"
:"20式"
:"重機関銃"

何? 前回教わった事と何か違うだと? 馬鹿者! 前に : コロンがついてるだろう!何が違うんだ!
" " これは何だと? よし! 良いところに気がついた。今回は貴様らを試していたのだ、この違いに気がつくか?どうか?を!

合格だ!貴様には特別に良い事を教えてやろう! プログラミングの世界では、文字は "文字" ダブルクオテーションで囲むルールがある。

今回はタプルの名前を文字にしただけだ!

何? 文字とタプルの違いは何か?だと! 貴様の知識でそれを理解するにはまだ早い! 
今は、こういうものがあると分かれば充分、理屈は後回しだ!

よし、続いて それぞれに利用する 銃弾を準備しよう。7.62mmと5.56mmの2種類だ

7.62
5.56

よし、これで :"64式"、:"89式":"20式":"重機関銃", 7.625.56 必要な情報が揃ったな。だが、このままでは新人には、どの銃とどの銃弾が対応しているかわからない。

そこで、今回はタプルを使って、対応をわかりやすくしていく、わかったな!まずは、手本を見て学べ!

スクリーンショット 2023-12-05 0.14.00.png

よし、これでどの銃がどの銃弾を扱えるかわかりやすくなった。

{:"64式", 7.62}
{:"重機関銃", 7.62}
{:"89式", 5.56}
{:"20式", 5.56}

このようにタプルを使って情報をわかりやすくまとめる事ができるようになった。

  • 教官、銃の重さも追加しました!

何、貴様やるなぁ、銃の重さも管理したいというのだな。

{:"64式", 7.62, 4.2}

なるほど、しかしこのままだと 7.624.2が何を表してるか分かりづらい!

  • それではこれでどうでしょう?
{:"64式", {:bullet, 7.62}, {:weight, 4.2} }

うむ、いいだろう。タプルの中にタプルで整理したようだな。
しかし、この方法だと管理する情報が増えるほど複雑で分かりづらくなる。

次回はもっと良い方法を教えよう。今日はここまで、それでは次回 Part6でまた会おう!

15
1
0

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
15
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?