この記事は「Elixir Advent Calendar 2023」3日目の記事です
東京にいるけどfukuokaexのYOSUKEです。
普段は 合同会社TheWaggle で教材開発・システム開発・研修講師などマルチに活動してます。
このシリーズでは、文系ですらない、体育会系でも始められるプログラミング学習 というテーマで元自衛官だった僕が
自衛官からエンジニアになってもらいたいという気持ちを込めて、普段は大人しいですが、このコラムシリーズでは、あえて、体育会系のノリで、貴様ら理屈で覚えるなら体で覚えろ!というノリで書いてみたいと思います。
なので、初学者向けですが、理論は後回し、まずは動かして体感しろってノリの第3回目です。
それでは、いくぞ!
プログラミングを理解しよう!
よし、貴様ら!これから本格的にElixirのプログラミングの訓練を始める!と、その前にそもそもプログラミングとはどんな特性を持っているかを知る必要がある。
プログラミングとは、人間が作ったルールに従って処理を実行する為の命令だ!
貴様らが部隊を動かす際の号令と同じようなものだ。
右むけ、右!という号令を出したらこう動け、と決められているように、プログラミングもあらかじめ機械が解釈できるように決められた命令やルールに従う必要がある。
Elixirのプログラミングを理解しよう。
1 = 1
数学と同じようにElixirでは=
を使って、左辺と右辺が一緒か?という意味だ。
したがって、以下のように 4 = 1 + 3
も右辺と左辺が同じだから問題ない。
4 = 1 + 3
では左辺と右辺が違う場合はどうなる? よく見ておけ!
4 = 1
** (MatchError) no match of right hand side value: 1
(stdlib 5.0.2) erl_eval.erl:498: :erl_eval.expr/6
iex:1: (file)
MatchErrorと怒られる。 きさまー! 右向け右と言ったろう! 左を向くなぁ!と言ったところだ。
いいか、きさまら! 右辺と左辺は同じ と言ったら同じにしろ! 今度間違えたら腕立て100回だ!
何? 1 + 3 = 4
としたら怒られただと? よし、勘の良いきさまに特別に教えてやろう。
1 + 3 = 4
** (CompileError) cannot compile cell (errors have been logged)
これは、ルールだ!頭の弱いきさまらは、理屈で覚えるな!まずはルールで覚えろ!
「右向けー右!」と普段から慣れている号令を突然「右、右向け!」と号令されても、ふざけてるのか!と怒られるのと同じだ!
左側には計算はこない、計算などごちゃごちゃするのは右に書け! いいなわかったか!
よし、今日はここまで、それでは次回 Part4でまた会おう!