この記事は「Elixir Advent Calendar 2023」10日目の記事です
東京にいるけどfukuokaexのYOSUKEです。
普段は 合同会社TheWaggle で教材開発・システム開発・研修講師などマルチに活動してます。
このシリーズでは、文系ですらない、体育会系でも始められるプログラミング学習 というテーマで元自衛官だった僕が
自衛官からエンジニアになってもらいたいという気持ちを込めて、普段は大人しいですが、このコラムシリーズでは、あえて、体育会系のノリで、貴様ら理屈で覚えるなら体で覚えろ!というノリで書いてみたいと思います。
なので、初学者向けですが、理論は後回し、まずは動かして体感しろってノリの第10回目です。
それでは、いくぞ!
便利な技を覚える前に、道具(関数)の使い方を覚えよう
前回、{name, soubi}
に名前と武器をまとめるデータの形を決めた。そう、タプルの中に文字列とマップのデータを収めたものだ。
{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以上"
}
}
これを全部、タプルの中に収めて管理しても良いが、それだと少し面倒だ。
そこで、少し効率よく作業できるように貴様らには{}
タプルとは別に新たな[]
リストというものを教えてやろう!
よし、それでは前回タプルで準備した名前のデータをリストに変換しよう。
変換するのに便利な道具がある。今回はそれを教えてやろう。
Tuple.to_list({:ok, :tuple})
[:ok, :tuple]
Tuple.to_list()
という道具だ。使い方は、()
このカッコの中にタプル
を入れるとリスト
にしてくれるとい便利なものだ。
Tuple.to_list({ "松浦", "橋本", "鈴木", "後藤", "伊藤", "薪", "空", "峰", "桂", "早乙女" })
["松浦", "橋本", "鈴木", "後藤", "伊藤", "薪", "空", "峰", "桂", "早乙女"]
このように返してくれる
プログラムには、このように便利な道具が存在する。こいつを使うことで簡単にデータの形を変換することができる。
いいか、貴様らは間違ってもなぜ、こうなるのかは考えるな。まずは使い方を覚えろ。
貴様が銃を撃つときに引き金を引いたら激鉄が雷管を叩いて、銃身の中の溝に沿って回転をして発射するなどの理解を学習するよりも、的に当てる練習をするだろう!
それと同じだ、貴様らはまず理屈を学ぶ前に使い方をマスターしろ。
次回、このリストを使うことで便利にする方法パート2だ。今日はここまで、それでは次回 Part11でまた会おう!