LoginSignup
13
0

More than 1 year has passed since last update.

$\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 さんの資料です。

Hacking Elixir How-To

ハンズオン

それではさっそくハンズオンをしてみましょう。

準備

makeコマンドが使える必要があります。
他にもいろいろ必要なのだとおもいます。

私はmacOS Ventura 13.1を使いました。
おもいつく限り関係ありそうなものを並べておきます。

  • XCode Command Line Tools
  • Erlang 25.2
  • Elixir 1.14.2-otp-25

ここはどなたかぜひ編集リクエストをください :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5:

闘魂注入

いよいよElixir闘魂を注入しましょう!

ソースコードの入手

git cloneでソースコードを入手します。

CMD
git clone https://github.com/elixir-lang/elixir.git
cd elixir
git checkout -b v1.14.2-with-toukon v1.14.2

VERSION変更

トップディレクトリにあるVERSIONファイルを書き換えます。

VERSION
1.14.2-with-toukon

闘魂注入

lib/elixir/lib/toukon.exファイルを追加します。

lib/elixir/lib/toukon.ex
defmodule Toukon do
  @moduledoc false

  def 挨拶 do
    "元氣ですかーーーーッ!!! 元氣があればなんでもできる!"
  end

  def  do
    """
    わたしが長年夢であった本当の
    プロレスを通じて
    スポーツを通じて
    世界平和と
    必ず実現します!
    わたしは、橋本と蝶野、もう今日は立っているのがやっとでした。
    本当に強くなりました。
    でも、俺たちは命がある、続く限り、闘い抜きます!
    ありがとうございました。
    またよろしくお願いいたします。
    """
  end

  def 説明 do
    "「闘魂」とは、己に打ち克つこと。そして闘いを通じて己の魂を磨いて行くことだとおもいます"
  end

  def  do
    """
    この道を行けば
    どうなるものか
    危ぶむなかれ
    危ぶめば道はなし
    踏み出せば
    その一足が道となり
    その一足が道となる
    迷わず行けよ
    行けば分かるさ
    """
  end
end

ビルド

CMD
make

もしビルドに失敗することがありましたら、コケている箇所を修正したあとにmake cleanをしてから再度makeするとよいでしょう。

実行

迷わず動かしてみましょう!!!

CMD
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"

闘魂注入ができました :tada::tada::tada::tada::tada::tada:

$\huge{闘魂}$

参考記事

モジュール名を:闘魂で注入したかったのですが、以下のエラーがでました。私はこの件の解決は目指しませんでした。
解決してくださった方がいらっしゃいましたら、ぜひ編集リクエストをくださいませ :pray::pray_tone1::pray_tone2::pray_tone3::pray_tone4::pray_tone5:

==> 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

今日の闘魂

今日の闘魂のコーナーです。

孟子

孟子の言葉を紹介します。


志士は溝壑こうがくにあるを忘れず。勇士はそのこうべうしなふを忘れず。

解説は、こちらをご参照ください。

星一徹

星一徹の言葉を紹介します。
星一徹曰く、坂本竜馬が言ったとされる言葉です。


死ぬ時は たとえ ドブの中でも 前のめりに 死にたい

解説は、こちらをご参照ください。

佐藤一斎

言志録から言葉を二つ引きます。


性分しょうぶん本然ほんぜんを尽くし、職分の当然をつとむ。くのごときのみ。

解説は、こちらをご参照ください。


たかく地ひくくして、乾坤けんこん定まる。君臣のぶんは、すで天定てんていに属す。おのおのの職を尽くすのみ。ゆえしんの君に於ける、まさ蓄養ちくようおん如何いかんむくい厚薄こうはくにせざるべきなり。

ここでは、「各自は全力を尽くすべきである」の意の部分を特に強調して取り上げておきます。

猪木さん流に言うと

猪木さん流に言うと、「プロレスとは、選ばれた人間同士が、鍛えに鍛え、闘いを通じて大衆を酔わせ、感動させるスポーツなのだ」です。

:book:アントニオ猪木自伝:book:より引用します。

「国家の代表として闘うオリンピックなどと違って、プロレスはレスラー個人の闘いだ。この四本の柱(受け身、攻撃、感性と表現力、信頼)を理解すれば、一万人でも二万人でも、大観衆を自分の手の上に乗せることが出来る。お客さんに感動を与えることが出来る。そのときの満足感というものは、例えようもないほど素晴らしい。ハラショーだ!」
そう言い終わると、(ソビエト連邦の)レスラーたちは一斉にテーブルをダーンと叩いた。皆、興奮している。彼らは口々に、それこそ自分たちがやりたいものだと言ってくれたのだ。

()内は、私が言葉を補いました。
新日本プロレスの初の東京ドーム興行’89格闘衛星☆闘強導夢に、ソビエト連邦の選手をリングにあげるべく交渉をしていたときの話です。
国交、通信環境などいろいろな面で今とは違って不自由が多かった時代です。なんとか選手と話ができる状態までこぎつけ、ソビエト連邦の選手と猪木さんが会話をしたときの述懐です。

私たちは、エンジニアです。プロです。プロの矜持を持って日々新たに挑戦(開発)を続けていく必要があります。それがプロです。
自分自身に言っています。

ここでは、Qiitaのコミュニティガイドラインの定義を紐解いてみます。

Qiitaでは、以下の定義に当てはまる人は全て「エンジニア」と呼ぶことにします
プログラミングの知識と経験を活用している人

猪木さんの言葉をQiitaのエンジニアの定義で読み替えてみます。

プログラミングとは、選ばれた人間同士が、鍛えに鍛え、製品を通じて大衆を酔わせ、感動させる芸術なのだ

一言で言うと、つまりは 闘魂 です。
「闘魂」とは、 「己に打ち克つこと、そして闘いを通じて己の魂を磨いて行くことだとおもいます」 と猪木さんはおっしゃられています。
迷わず行けよ、行けばわかるさ」です:rocket::rocket::rocket:
一歩一歩着実に挑戦を続けることができるもののみが成功の果実にたどり着けるのです。
大衆を酔わせ、感動させることができるのです。

:book:アントニオ猪木自伝:book:
みなさまもぜひこの本をお手にとられて、猪木さんが残されたメッセージを通じて、直接猪木さんから「元氣」をもらってください。

image.png

歴史に名を残す人は、チャンスが巡ってきたときに勝っています。

人智を超えた運、天運を持っている方々なのです。チャンスが巡ったときに結果を残せる準備を継続していたのです。
運をも家来にしている人たちなのでしょう。 その域に至るには、自分自身でできるあらゆることに最善を尽くし、続けることが前提なのです。

image.png

さいごに

Elixirに、闘魂を注入しました。

闘魂の意味は、 「己に打ち克つこと、そして闘いを通じて己の魂を磨いて行くことだとおもいます」 との猪木さんの言葉をそのまま胸に刻み込んでいます。
知っているだけで終わらせることなく、実行する、断行する、一歩を踏み出すことを自らの行動で示していきたいとおもいます。

$\huge{1、2、3 ぁっダー!}$



Twitter


$\huge{元氣があればなんでもできる!}$

13
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
0