Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@kmizuno0211

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

お題

きのうまで公式ドキュメント の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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?