この記事は「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でまた会おう!