LoginSignup
2
0

More than 5 years have passed since last update.

Elixir~お題に対して式をつくってみたぞ2回目~

Posted at

お題

きのうまで公式ドキュメント のEnumをひたすら解釈 or わからないでさらいまくるという課題をやっていたのですが、先生からこんなお題が出ました。

"1. 整数1つと,整数のリストが与えられたとします。仮に 13 と,[2, 3, 5] だったとしましょう。
2. 最初の整数を2番目のリストの要素1つずつで割ったあまりが0になるかどうかを判定した時に,全ての要素で0にならなかった,すなわち割り切れなかったとします。もしそうならば,最初の整数は,リストで与えられた数どれでも割り切れないということになります。

このような判定を行うプログラムを書いてください。"

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

これはEnum総ざらいの過去分が役に立ちました。
まず、2,3,5の第一引数のリストを左辺に持ってきてパイプライン演算子を噛ませたのちひとつでも条件に符号するものがあればtrueを返すEnum.any?を持ってきます。
これで13を2,3,5それぞれで割り、当然あまりがゼロになるものはないので、false。
&記法で&1がremで整数の後に来るパターンがはじめてで、若干戸惑いました。

やはり与えられた式ではなく課題に対して短いですが自分で式を考えられてハマると充実感が出ます!
うまずたゆまず、頑張ります。
Kento Mizuno

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