LoginSignup
13
0

More than 1 year has passed since last update.

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

はじめに

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

本日は、String.split/3を説明します。

iex> "Elixir" |> String.graphemes() |> Enum.frequencies()
%{"E" => 1, "i" => 2, "l" => 1, "r" => 1, "x" => 1}

String.split/3

文字列を分割してくれます。

それでは、IExで確かめてみましょう。

CMD
iex

IExが立ち上がったら、以下のプログラムを実行してみてください。

iex> String.split("1 2 3", " ")
["1", "2", "3"]

第一引数の文字列を、第二引数のパターンで分割した文字列のリストを得られました :tada:

ワンポイントレッスン

ワンポイントレッスンです。

第二引数のパターン

第二引数のパターンには文字列だけではなく、文字列のリストや正規表現などを指定できます。
詳しくは、 String.split/3 をご参照ください。

省略もできます。

iex> String.split("1 2 3")     
["1", "2", "3"]

第三引数のオプション

私は使ったことがありません。
公式の説明をペタっと貼っておきます。

スクリーンショット 2022-12-07 23.26.53.png

AtCoder

AtCoderの問題を問いてみます。
問題は、PracticeA - Welcome to AtCoderを取り上げます。

まず問題の説明をします。
Inputが

1
2 3
test

である場合に、Outputを

6 test

にしてくださいという問題です。1行目と2行目の数字を足して、三行目の文字列と並べて表示しなさいという問題です。

早速答えです。

defmodule Main do
  def main do
    a = IO.read(:line) |> String.trim() |> String.to_integer()
    [b, c] =  IO.read(:line) |> String.trim() |> String.split(" ") |> Enum.map(&String.to_integer/1)
    s = IO.read(:line) |> String.trim()

    IO.puts "#{a + b + c} #{s}"
  end
end

2行目の空白で区切られた数字の文字列を分割するときに、String.split/3を使っています。

AtCoderをElixirで闘うときに、String.split/3は使う場面がよくあるとおもいます。

AtCoderをElixirでやってみる」は私が書いた記事です。AtCoderに取り組まれる方は参考にしてください。

今日の闘魂

今日は、長嶋茂雄さんの言葉を紹介します。


スターというのはみんなの期待に応える存在。
でもスーパースターの条件は、その期待を超えること。


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

猪木さん流に言うと、「スターという人種は、注目を浴びれば浴びるほど能力を発揮する」ということです。
:book:アントニオ猪木 最後の闘魂:book:より引用します。

周囲からの期待を重圧と感じてしまうのは、それに応える自信がないからといえるかもしれない。(中略)スターになるには日頃から研鑽を積み、「自分ならできる!」という自信を確かなものにしていくことが大切だ。それができれば、周囲の期待はプレッシャーではなく、エネルギーに変わる。(中略)一つひとつ大きな舞台を乗り越えることで、自信と真の力をつけていったのだ。

一言で言うと、つまりは 闘魂 です。
「闘魂」とは、 「己に打ち克ち、闘いを通じて己の魂を磨いていくことである」 と猪木さんはおっしゃられています。プレッシャーに負けるのは、己に負けたからなのです。王陽明先生は言いました。「山中の賊を破るは易く、心中の賊を破るは難し」と。

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

ちなみに長嶋茂雄さんとアントニオ猪木さんの共通点は誕生日が2月20日だということです。さらに志村けんさんも2月20日です。さらにさらにちなみに私のリスペクトする先輩のお兄さんも2月20日生まれです。

image.png

さいごに

String.split/3を説明しました。

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

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