この記事は「Elixir Advent Calendar 2023」裏コラム記事です
東京にいるけどfukuokaexのYOSUKEです。
普段は 合同会社TheWaggle で教材開発・システム開発・研修講師などマルチに活動してます。
このシリーズでは、体育会系のりでちょっとずつ学ぶシリーズの裏側で、ちょっとマニアックなネタを本シリーズのような優しいコラムではない形式で綴っていこうかと思います。
それでは、いくぞ!
C4爆弾ってとても美味しそうな匂いがするんです。
C4爆弾って、粘土質で形をぐにゃぐにゃっとできるので隙間に埋め込んだり、とっても便利な爆弾です。でもってとてもいい匂いがするんですね。
ですが、間違っても食べちゃダメです。実は毒性も強く、自衛官が教官に煽られてぺろっと舐めて、病院に運ばれた、ちょっとお茶目な事件が起きてるくらい危ないです。
さて、そんな便利で危険なC4爆弾ですが、威力はとても強力です。
そこで、分量を間違えると巻き添えを喰らうので正しく威力を把握する必要がありますね。
そんな関数をElixirで作ってみましょう。
威力は爆弾の量でどれくらいの爆発エネルギーが発生するかを考えます。
- 爆薬の量(グラム単位):C4の量が多いほど、爆発の威力も大きくなり
- 爆発のエネルギー発生率:C4のエネルギー発生率は、おおよそ1.18MJ/kg
威力(ジュール)=C4の量(kg)×エネルギー発生率(MJ/kg)×10の6乗 という計算式で作成してみましょう。
defmodule TNT do
# エネルギー発生率を定数として定義
@energy_generation_rate 1.18 # MJ/kg
def calculate_explosive_energy(kg) do
# 爆発エネルギーを計算 (MJをジュールに変換)
kg * @energy_generation_rate * 1_000_000
end
end
こんな感じでしょうか。
爆薬も使うと便利なものですが、それをどのように使うかも人間が決められること。
人に向けて使わない世の中がくればいいですね。