14
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ElixirAdvent Calendar 2022

Day 10

簡単Elixirシリーズ ~ useを理解しよう① ~

Posted at

簡単Elixirシリーズ

~ useを理解しよう① ~

この記事は「Elixir Advent Calendar 2022」10日目の記事です
東京にいるけどfukuokaexのYOSUKEです。

簡単 Elixirシリーズでは小ネタをサクッと書いていこう。というコンセプトで作っていきます。

今回は、useって何? を理解する。という小ネタ(そう、この記事はサクッとがコンセプトW)

まず、useの説明を探して読むとですね、小難しいんです。私にとって、非常に難しく書かれている。僕でもわかるように書いてくれ!という自分の心に従って簡単にしてみます。

まず公式の説明を見てみます。use は alias, require and import の章に書かれています。なぜ、ここにuseも加えてくれないんだ。探すのが大変じゃないか。と思うのは僕だけでしょうか。いえ、公式をディスってる訳ではありません。公式のドキュメントは素晴らしいです。

説明の一部を日本語にしてみてみます。

useは、指定されたモジュールを必要とし、そのモジュールで__using__/1、コールバックを呼び出してモジュールが現在のコンテキストにコードを挿入できるようにします。

ほんの一部抜き出しただけですが、他にも色々書かれてますので、ぜひ公式を読んでみてください。ただ、私にはこれらの説明を噛み砕いてもらわないとパッと頭に入ってこないんです。という心の声が聞こえてきます。

と言うことで、噛み砕いてみます。

useとは、

  • use とは、コードを再利用するためのツールです。
  • use とは、別のモジュールで定義された using マクロを呼び出すものです。
  • __using__ マクロを使用すると、別で定義したモジュールにコードを挿入できる関数を作れます。

以上の事から
useとは、__using__マクロ定義したものを利用して、コードを再利用する為のツールです。

use はどんな時に役立つか? それは、コードベースで抽象化しておきたい、再利用可能なパターンがある場合には最適です。
例えば、MVCなどのようなパターン化したフレームワークを作るときなどです。という事で、Phoenixフレームワークではuseが頻繁に活用されています。

少し長くなるので、サンプルコードを書いた例を useを理解しよう② に記載します。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?