$\huge{元氣ですかーーーーッ!!!}$
はじめに
闘魂とElixirが出会いました。
闘魂 meets Elixir.です。
Elixir meets 闘魂.でもよいです。
本日は、Stringモジュールを説明します。
iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}
モジュール
まずは、モジュールを説明します。
In Elixir we group several functions into modules.
モジュールとは、いくつかの関数をまとめたものです。
以下、もう少し詳しく説明します。
Elixirは、 世俗派関数型言語1 です。
大衆派関数型言語と言ってもいいかもしれません。
怖くない関数型言語です。ゆるふわっとした関数型言語です。
感覚的なことですのでこれ以上は話しません。話せません。
「世俗派」や「大衆派」などとの接頭辞を取っ払ってしまえば、 Elixirは、 関数型言語 なのです。
「世俗派」や「大衆派」などとの接頭辞を付けているのは、 関数型言語 だからと言ってそんなに力まずに、数学が分からなくても、なんとなくゆるふわっと使える素敵なプログラミング言語なのです。
「あれ? 私、気づいたら関数型言語使いこなしていましたわ」とそんなノリです。
繰り返します。とにかくElixirは、 関数型言語 なのです。
その中心にあるものは、 関数 です。
モジュールというのは、 関数 をまとめたものです。
Elixirには、標準で多くのモジュールがあります。
本「闘魂Elixir」シリーズでは代表的な3つのモジュールを解説します。
今回は、Stringモジュールを説明します。
Stringモジュール
Stringモジュールが取り扱うデータ型は、String型です。
具体例です。
"元氣ですかーーーーッ!!! 元氣があればなんでもできる!"
Elixirでは、"
で囲みます。
Elixirの場合、'
で囲むとCharlistsという、String型とは異なるデータ型となります。
Stringモジュールの関数一覧
こちらに一覧があります。
「闘魂Elixirシリーズ」では、私が独断と偏見で決めたよく使われるであろう関数を一つずつ丁寧に解説します。
お楽しみに!
ワンポイントレッスン
モジュールは自作できます。
defmodule です。
例を示しておきます。
defmodule Number do
def one, do: 1
def two, do: 2
end
#=> {:module, Number, <<70, 79, 82, ...>>, {:two, 0}}
Number.one()
#=> 1
Number.two()
#=> 2
今日の闘魂
今日は、将棋の大山康晴永世名人の言葉です。
名人の著書『勝負のこころ』から引きました。
勝負は、日常心にあると私は思う。
ふだんのトレーニングを怠って、いざ勝負の場に臨んで力を出そうとしても成功するものではない。小さなことの積み重ねが、その人の実力となってあらわれる。
猪木さん流に言うと、「自信というのは、一にも二にもトレーニングから生まれる」ということです。
リングに上がれば、頼れるのは自分だけだ。その自分の力を信じることができなければ、試合に勝つことはできない。不安を解消して自信を得るためにはトレーニングしかない。リングで自分を信じるために、「もうこれ以上はできない」というところまで追い込む。そうやって不安を自信に塗り替えていくことが大事なのだ。
大山康晴永世名人もアントニオ猪木さんもトレーニングが大事だとおっしゃっています。
超一流のお二人にしてこうおっしゃっているのです。私たちもプログラミングの訓練、稽古を欠かさず続けることです。稽古不足を幕は待ってくれません。恋はいつでも初舞台です。楽しむことです。幸いElixirは書いていて楽しい言語です。
『アントニオ猪木 最後の闘魂』から引きました。
みなさまもぜひこの本をお手にとられて、猪木さんが残されたメッセージを通じて、直接猪木さんから「元氣」をもらってください。
さいごに
String モジュールを説明しました。
明日から代表的な関数を一つ一つ見ていきます。
闘魂の意味は、 「己に打ち克ち、闘いを通じて己の魂を磨いていくことである」 との猪木さんの言葉をそのまま胸に刻み込んでいます。
知っているだけで終わらせることなく、実行する、断行する、一歩を踏み出すことを自らの行動で示していきたいとおもいます。
$\huge{1、2、3 ぁっダー!}$
Elixir Advent Calendar 3の16日目は、毎度お馴染み @torifukukaiou さんで、Mapモジュールの次はこれまたメジャーなStringモジュール😉https://t.co/De8Bb2NLrf
— piacere (love Elixir, Gravity and VR/AR/Metaverse) (@piacere_ex) December 16, 2022
Stringモジュールの関数は次回以降に詳細😌
それにしても、毎度書かれている「Elixirは、世俗派関数型言語」ってフレーズがウケるー😜
$\huge{元氣があればなんでもできる!}$