14
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

$\huge{元氣ですかーーーーッ!!!}$

はじめに

闘魂とElixirが出会いました。
闘魂 meets Elixir.です。
Elixir meets 闘魂.でもよいです。

本日は、Mapモジュールを説明します。

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

今回は、Mapモジュールを説明します。

Mapモジュール

Mapモジュールが取り扱うデータ型は、キーと値のデータ構造であるMap型です。

具体例です。

%{}

%{"one" => :two, 3 => "four"}

1行目は、空のMapです。
2行目は、キー"one"の値が:two、キー3の値が"four"のMapです。

Mapモジュールの関数一覧

こちらに一覧があります。

闘魂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

今日の闘魂

今日は、ジョーン・フォンダの言葉です。


It is never too late – never too late to start over, never too late to be happy. (Jane Fonda)

何事も遅すぎることなんてない ― 新しいことをはじめること、幸せになるのに遅すぎるなんてことはないわ。


猪木さん流に言うと、『「元氣」と「健康」、そして「勇気」があれば、いくつになっても成長できる』です。

元氣ですかーーーーッ!!!
元氣があればなんでもできる!
ということです。

勇気に関しては、病床にあろうともまったく衰える気配がない。本当ならば、「元氣」「健康」「勇気」の3つが揃っていれば理想的だけれど、たとえ勇気だけであろうとも、人はまだまだ成長できると信じている。いくつになっても、人は成長できるだということを、わたしは身を以て証明したいのだ。

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

image.png

さいごに

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

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

$\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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?