ライブラリ


Exercismは、プログラミング言語の構文やイディオム、標準ライブラリを使いこなせるようになることを目指しています。 ここで外部の(組み込みではない)ライブラリにはあえて触れていません。それは_熟達_の領域にあたるからです。 そのため、演習は、ごく少数の例外を除いて、ライブラリを使わずに解けるものでなければなりません。

ライブラリをサポートする理由

それでもトラックでライブラリをサポートしたい、という場合にはいくつか理由があります。

  1. 言語の標準ライブラリが(ごく)最小限しかない。そうした言語の例がRustです。
  2. ライブラリがテスト機能を追加してくれる。たとえば、プロパティベーステストのサポートを追加するライブラリがあります。
  3. ライブラリを使わなければ解けない演習がある。その例がlens-person演習で、ほとんどの言語ではライブラリを使わないと解けません。

テストランナーでライブラリをサポートする

テストランナーは実行中にインターネットへアクセスできないため、実行時にライブラリをダウンロードすることはできません。 この問題に対する唯一の解決策は、ビルド時にライブラリをインストール、またはダウンロードすることです。ビルド時にはインターネットにアクセス_できます_。 実際には、Dockerfileの中でライブラリをインストール、またはダウンロードする必要があるということです。

たとえば、PrologのテストランナーのDockerfileでは、date_timeライブラリをインストールしています。

RUN swipl pack install date_time -y

ドキュメント

トラックでライブラリをサポートする場合は、トラックのドキュメントに載せておきましょう。 また、exercises/shared/.docs/help.mdドキュメントから、このドキュメントへ(完全なURLで)リンクを張ってください。