13
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 9

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

Posted at

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

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

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

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

それでは、いくぞ!

連続して何かをさせるときに便利な技...とその前に。

いいか、貴様ら!
前回、貴様らに与えた銃を貴様らの持つ班員10名にそれぞれ渡す方法を教えてやろう!
よし! それでは今回は貴様らの班員 10名全員に一気にそれぞれ、銃を受け渡す方法を伝授しよう!

今、貴様らが持っている武器をそれぞれ、貴様らの班員達にも装備させる必要がある。
そこで、まずは武器の管理をしっかりするために名簿を作れ! わかったな!

  • はい!

よーし、まずは田中班長! 貴様の隊員名簿を作れ!

はい、私の班員全 10名は以下の通りです!

{ "松浦", "橋本", "鈴木", "後藤", "伊藤", "薪", "空", "峰", "桂", "早乙女" }

うむ、よろしい!
前回、tanakaに渡した武器はちゃんと、今も持っているな?

  • はい、自分は20式です!
tanaka
%{ 
    "名称" => "20式5.56mm小銃" ,
    "種類" => "小銃" ,
    "製造国" =>  "日本" ,
    "口径" =>	"5.56 mm" ,
    "銃身長" => "330 mm" ,
    "使用弾薬" =>	"89式5.56mm普通弾" , 
    "装弾数" => "30発" ,
    "作動方式" => "ガス圧作動方式" ,
    "全長" =>	"851 mm (銃床最小 779 mm)" ,
    "重量" => "3.5 kg" ,
    "発射速度" =>	"650 – 850発/分" ,
    "有効射程" =>	"500 m以上"
}

よし、では、貴様の班の全員に貴様と同じ武器を装備させろ!

  • はい!
{ "松浦", "橋本", "鈴木", "後藤", "伊藤", "薪", "空", "峰", "桂", "早乙女" }
= 
{tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka }
  • 教官!なぜか名前では渡せません!と怒られます。

馬鹿者ー!
もう忘れたのか、貴様の頭は鶏か! 貴様がやったことは名前に武器を渡してるようなものだ、名前が武器を装備できるのか!
プログラムの世界では、" ":が先頭についてない1半角英数に直して装備させろと前回言っただろう!

  • しかし、なぜ、そのようにしなければいけないのですか?

貴様にはその理屈を知るのはまだ早い!と何度も言っているだろう!
まずは、ルールを覚えろ!ルールを意識せずにできるまで体に染み込ませろ!

理解できないから覚えられないなどと甘ったれた事は言うな!
貴様らのような奴は、まずは行動しろ!
行動して失敗して、学べ!

貴様が理屈を学ぶのは、息を吸うように、意識しないでもルールが守れるようになってからだ! わかったか!

  • はい!
{ matuura, hashimoto, suzuki, goto, ito, maki, sora, mine, katura, saotome }
=
{tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka, tanaka }
  • 装備完了です!

よーし、いいだろう!と言いたいところだが、これでは貴様が10人いることになる。
貴様が10人とかクローン部隊か!

今回は班員10人とわかっているが、この方法だと11人に増えた時どうする?
困るだろう!

それに、名前はどこに行った! 名前も一緒にまとめておかなければ、後々困るだろう!
まずは、タプルにして、名前と装備でまとめるようにしておくように!わかったな!

  • はい
{name, soubi} = 
{ "松浦", 
    %{ 
        "名称" => "20式5.56mm小銃" ,
        "種類" => "小銃" ,
        "製造国" =>  "日本" ,
        "口径" =>	"5.56 mm" ,
        "銃身長" => "330 mm" ,
        "使用弾薬" =>	"89式5.56mm普通弾" , 
        "装弾数" => "30発" ,
        "作動方式" => "ガス圧作動方式" ,
        "全長" =>	"851 mm (銃床最小 779 mm)" ,
        "重量" => "3.5 kg" ,
        "発射速度" =>	"650 – 850発/分" ,
        "有効射程" =>	"500 m以上"
    } 
}

よし、いいだろう!これでいよいよ
「貴様らの班員 10名全員に一気にそれぞれ、銃を受け渡す方法を伝授しよう!」の伝授する準備ができた。

しかし!残念ながら、
話しが長くなるので、今日はここまで、それでは次回 Part10でまた会おう!

13
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
13
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?