こんにちは!
ElixirSchool教育事業部、事業責任者のこーへーです。
私は、30代になってから今までの仕事を捨て去り、「将来稼げるスキルが欲しい」、「もっと自分の市場価値を上げた」と闘志を燃やしながらプログラミングえ選び、奇跡的にElixirに出会いました。
当時を振り返ると、無知だったことが幸いしましたが、もしオブジェクト指向から学んでいたなら挫折していたことでしょう。
Elixirよ私の元に、舞い降りてきてくれて誠にありがとう。
ということで、今からプログラミングを始める人は絶対Elixirをやった方が良いので(日本での案件もどんどん増えてるし、そもそも海外でめっちゃ人気の言語だから今後案件増えないはずない。)こんな脳筋の私でもできたElixirでプログラミングをしている様子をお届けましょう。
言語処理100本ノックの記事を上から順にやっていく
01. 「パタトクカシーー」という文字列の1,3,5,7文字目を取り出して連結した文字列を得よ
まずは、text変数に文字列「パタトクカシー」を束縛(代入じゃないですよ)
iex> text = "パタトクカシーー"
"パタトクカシーー"
String.codepoints関数を使って、各文字列を分割
iex> text_list = String.codepoints(text)
["パ", "タ", "ト", "ク", "カ", "シ", "ー", "ー"]
Enum.take_every関数を使って、「パ・ト・カ・ー」を抽出
iex> text_extraction = Enum.take_every(text_list, 2)
["パ", "ト", "カ", "ー"]
Enum.join関数を使って、それぞれの文字を結合
iex> text_extraction = Enum.join(text_extraction)
"パトカー"
|> (パイプ)で、それぞれの処理をつなげることで、一発でパトカーとすることが出来ました。
iex> "パタトクカシーー" |> String.codepoints |> Enum.take_every(2) |> Enum.join
"パトカー"