$\huge{元氣ですかーーーーッ!!!}$
はじめに
闘魂とElixirが出会いました。
闘魂 meets Elixir.です。
Elixir meets 闘魂.でもよいです。
本日は、Elixirに闘魂を注入します。
iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}
Elixirに闘魂を注入するとは?
Elixirを拡張して、闘魂モジュールを追加、つまり注入します。
これが、Elixirに闘魂を注入するということです。
Elixirは言語そのもののカスタマイズも容易にできます。
資料
@ohr486 さんの資料です。
本日の資料ですhttps://t.co/zwV6aMewqI#tokyoex #beamlangtokyo #fukuokaex
— おーはら (@ohrdev) September 29, 2019
ハンズオン
それではさっそくハンズオンをしてみましょう。
準備
make
コマンドが使える必要があります。
他にもいろいろ必要なのだとおもいます。
私はmacOS Ventura 13.1を使いました。
おもいつく限り関係ありそうなものを並べておきます。
- XCode Command Line Tools
- Erlang 25.2
- Elixir 1.14.2-otp-25
ここはどなたかぜひ編集リクエストをください
闘魂注入
いよいよElixirに闘魂を注入しましょう!
ソースコードの入手
git clone
でソースコードを入手します。
git clone https://github.com/elixir-lang/elixir.git
cd elixir
git checkout -b v1.14.2-with-toukon v1.14.2
VERSION変更
トップディレクトリにあるVERSION
ファイルを書き換えます。
1.14.2-with-toukon
闘魂注入
lib/elixir/lib/toukon.ex
ファイルを追加します。
defmodule Toukon do
@moduledoc false
def 挨拶 do
"元氣ですかーーーーッ!!! 元氣があればなんでもできる!"
end
def 夢 do
"""
わたしが長年夢であった本当の
プロレスを通じて
スポーツを通じて
世界平和と
必ず実現します!
わたしは、橋本と蝶野、もう今日は立っているのがやっとでした。
本当に強くなりました。
でも、俺たちは命がある、続く限り、闘い抜きます!
ありがとうございました。
またよろしくお願いいたします。
"""
end
def 説明 do
"「闘魂」とは、己に打ち克つこと。そして闘いを通じて己の魂を磨いて行くことだとおもいます"
end
def 道 do
"""
この道を行けば
どうなるものか
危ぶむなかれ
危ぶめば道はなし
踏み出せば
その一足が道となり
その一足が道となる
迷わず行けよ
行けば分かるさ
"""
end
end
ビルド
make
もしビルドに失敗することがありましたら、コケている箇所を修正したあとにmake clean
をしてから再度make
するとよいでしょう。
実行
迷わず動かしてみましょう!!!
bin/iex
バージョンの表記が1.14.2-with-toukon
になっています。
Erlang/OTP 25 [erts-13.1.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Interactive Elixir (1.14.2-with-toukon) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>
IExで 闘魂 モジュールを実行してみます。
iex(1)> Toukon.挨拶
"元氣ですかーーーーッ!!! 元氣があればなんでもできる!"
iex(2)> Toukon.夢
"わたしが長年夢であった本当の\nプロレスを通じて\nスポーツを通じて\n世界平和と\n必ず実現します!\nわたしは、橋本と蝶野、もう今日は立っているのがやっとでした。\n本当に強くなりました。\nでも、俺たちは命がある、続く限り、闘い抜きます!\nありがとうございました。\nまたよろしくお願いいたします。\n"
iex(3)> Toukon.説明
"「闘魂」とは、己に打ち克つこと。そして闘いを通じて己の魂を磨いて行くことだとおもいます"
iex(4)> Toukon.道
"この道を行けば\nどうなるものか\n危ぶむなかれ\n危ぶめば道はなし\n踏み出せば\nその一足が道となり\nその一足が道となる\n迷わず行けよ\n行けば分かるさ\n"
闘魂注入ができました
$\huge{闘魂}$
参考記事
モジュール名を:闘魂
で注入したかったのですが、以下のエラーがでました。私はこの件の解決は目指しませんでした。
解決してくださった方がいらっしゃいましたら、ぜひ編集リクエストをくださいませ
==> elixir (compile)
escript: exception error: no match of right hand side value {error,badarg}
in function erl_eval:expr/6 (erl_eval.erl, line 496)
in call from escript:eval_exprs/5 (escript.erl, line 869)
in call from erl_eval:local_func/8 (erl_eval.erl, line 644)
in call from escript:interpret/4 (escript.erl, line 780)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
make[1]: *** [lib/elixir/ebin/elixir.app] Error 127
make: *** [lib/elixir/ebin/Elixir.Kernel.beam] Error 2
今日の闘魂
今日の闘魂のコーナーです。
孟子
孟子の言葉を紹介します。
志士は溝壑にあるを忘れず。勇士はその元を喪ふを忘れず。
解説は、こちらをご参照ください。
星一徹
星一徹の言葉を紹介します。
星一徹曰く、坂本竜馬が言ったとされる言葉です。
死ぬ時は たとえ ドブの中でも 前のめりに 死にたい
解説は、こちらをご参照ください。
佐藤一斎
言志録から言葉を二つ引きます。
性分の本然を尽くし、職分の当然を務む。此くの如きのみ。
解説は、こちらをご参照ください。
天尊く地卑くして、乾坤定まる。君臣の分は、已に天定に属す。各其の職を尽くすのみ。故に臣の君に於ける、当に蓄養の恩如何を視て其の報を厚薄にせざるべきなり。
ここでは、「各自は全力を尽くすべきである」の意の部分を特に強調して取り上げておきます。
猪木さん流に言うと
猪木さん流に言うと、「プロレスとは、選ばれた人間同士が、鍛えに鍛え、闘いを通じて大衆を酔わせ、感動させるスポーツなのだ」です。
『アントニオ猪木自伝』より引用します。
「国家の代表として闘うオリンピックなどと違って、プロレスはレスラー個人の闘いだ。この四本の柱(受け身、攻撃、感性と表現力、信頼)を理解すれば、一万人でも二万人でも、大観衆を自分の手の上に乗せることが出来る。お客さんに感動を与えることが出来る。そのときの満足感というものは、例えようもないほど素晴らしい。ハラショーだ!」
そう言い終わると、(ソビエト連邦の)レスラーたちは一斉にテーブルをダーンと叩いた。皆、興奮している。彼らは口々に、それこそ自分たちがやりたいものだと言ってくれたのだ。
()内は、私が言葉を補いました。
新日本プロレスの初の東京ドーム興行’89格闘衛星☆闘強導夢に、ソビエト連邦の選手をリングにあげるべく交渉をしていたときの話です。
国交、通信環境などいろいろな面で今とは違って不自由が多かった時代です。なんとか選手と話ができる状態までこぎつけ、ソビエト連邦の選手と猪木さんが会話をしたときの述懐です。
私たちは、エンジニアです。プロです。プロの矜持を持って日々新たに挑戦(開発)を続けていく必要があります。それがプロです。
自分自身に言っています。
ここでは、Qiitaのコミュニティガイドラインの定義を紐解いてみます。
Qiitaでは、以下の定義に当てはまる人は全て「エンジニア」と呼ぶことにします
プログラミングの知識と経験を活用している人
猪木さんの言葉をQiitaのエンジニアの定義で読み替えてみます。
プログラミングとは、選ばれた人間同士が、鍛えに鍛え、製品を通じて大衆を酔わせ、感動させる芸術なのだ
一言で言うと、つまりは 闘魂 です。
「闘魂」とは、 「己に打ち克つこと、そして闘いを通じて己の魂を磨いて行くことだとおもいます」 と猪木さんはおっしゃられています。
「迷わず行けよ、行けばわかるさ」です
一歩一歩着実に挑戦を続けることができるもののみが成功の果実にたどり着けるのです。
大衆を酔わせ、感動させることができるのです。
『アントニオ猪木自伝』
みなさまもぜひこの本をお手にとられて、猪木さんが残されたメッセージを通じて、直接猪木さんから「元氣」をもらってください。
歴史に名を残す人は、チャンスが巡ってきたときに勝っています。
人智を超えた運、天運を持っている方々なのです。チャンスが巡ったときに結果を残せる準備を継続していたのです。
運をも家来にしている人たちなのでしょう。 その域に至るには、自分自身でできるあらゆることに最善を尽くし、続けることが前提なのです。
さいごに
Elixirに、闘魂を注入しました。
闘魂の意味は、 「己に打ち克つこと、そして闘いを通じて己の魂を磨いて行くことだとおもいます」 との猪木さんの言葉をそのまま胸に刻み込んでいます。
知っているだけで終わらせることなく、実行する、断行する、一歩を踏み出すことを自らの行動で示していきたいとおもいます。
$\huge{1、2、3 ぁっダー!}$
Elixir Advent Calendar 3の23日目、いつも元気な @torifukukaiou さんで、…Elixirに闘魂注入…???😅https://t.co/YjcmkVbzCY
— piacere (love Elixir, Gravity and VR/AR/Metaverse) (@piacere_ex) December 25, 2022
えっと中身は、Elixir本体を改造する、昔tokyo.exでやったネタで、けっこうマトモだった(良かった)😜 pic.twitter.com/M6fUVqZRY0
$\huge{元氣があればなんでもできる!}$