LoginSignup
6
3

More than 5 years have passed since last update.

Elixir~自分で作ったPJが動いたぞ!~

Last updated at Posted at 2019-02-18

ここまでのあらまし

前回、

[2, 3, 5] |> Enum.any?(& rem(13, &1)==0)

13を2,3,5で割ってあまりがゼロになる要素がなければfalseを返す、という式を書きました。

今回、これをモジュールに実装していきます。

本題

適当なディレクトリで、

mix new prime

します。

そして、

prime.ex

defmodule Prime do
  @moduledoc """
  Documentation for Prime.
  """

  @doc """
  Hello world.

  ## Examples

      iex> Prime.hello()
      :world

  """
  def hello do
    :world
  end  
  def div
isible_all?  n, list do
    list |> Enum.any?(& rem(n, &1)==0)  
  end
end

前回の13を n[2, 3, 5] のリストをlist としました。

ここでターミナルで

cd prime
iex -S mix

します。

iex(1)> Prime.divisible_all?(13, [2, 3, 5])
false
iex(2)> Prime.divisible_all?(12, [2, 4, 5])
true

ふたつの自由な引数を持ったプログラムができました!!!

なお、divisible_all? という関数名を決める際に、 codic というWebアプリ辞書を使用しました。

これでつまみがふたつついたシンセサイザーができたようなもんです!!

わかるようになったこと

最初はわたしは関数に対しての引数、というものが分かりませんでした。
Enumを学習する過程で第一引数、第二引数、リストがそれに相当する〜、といったことをおぼろげに理解していきました。
しかし今回、ふたつの要素を nlist として可変にすることによって「引数」そのものを理解することができたように思います。

はじめて自分の作ったプログラムが動いた!!感動もひとしおだ!!!
うまずたゆまず、頑張ります。
Kento Mizuno

6
3
1

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
6
3