LoginSignup
14
0

More than 1 year has passed since last update.

$\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つのモジュールを解説します。

  1. Enum
  2. Map
  3. String

今回は、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

今日の闘魂

今日は、将棋の大山康晴永世名人の言葉です。
名人の著書『勝負のこころ:book:から引きました。


勝負は、日常心にあると私は思う。
ふだんのトレーニングを怠って、いざ勝負の場に臨んで力を出そうとしても成功するものではない。小さなことの積み重ねが、その人の実力となってあらわれる。


猪木さん流に言うと、「自信というのは、一にも二にもトレーニングから生まれる」ということです。

リングに上がれば、頼れるのは自分だけだ。その自分の力を信じることができなければ、試合に勝つことはできない。不安を解消して自信を得るためにはトレーニングしかない。リングで自分を信じるために、「もうこれ以上はできない」というところまで追い込む。そうやって不安を自信に塗り替えていくことが大事なのだ。

大山康晴永世名人もアントニオ猪木さんもトレーニングが大事だとおっしゃっています。
超一流のお二人にしてこうおっしゃっているのです。私たちもプログラミングの訓練、稽古を欠かさず続けることです。稽古不足を幕は待ってくれません。恋はいつでも初舞台です。楽しむことです。幸いElixirは書いていて楽しい言語です。

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

image.png

さいごに

String モジュールを説明しました。
明日から代表的な関数を一つ一つ見ていきます。

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

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



Twitter


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

  1. @kikuyuta さんの「世俗派関数型言語 Elixir を関数型言語風に使ってみたらやっぱり関数型言語みたいだった」より。

14
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
14
0