Könyvtárak


Az Exercism célja, hogy jártasságot tanítson a nyelv szintaxisában, idiómáiban és standard könyvtárában. Ez kifejezetten nem vonatkozik a külső (nem beépített) könyvtárakra, mert azok a szakértelem körébe tartoznak. A feladatokat ezért kevés kivételtől eltekintve könyvtárak használata nélkül is meg kell tudni oldani.

A könyvtárak támogatásának okai

Néhány ok, amiért egy kurzus mégis támogathatja a könyvtárakat:

  1. A nyelv (nagyon) minimális standard könyvtárral rendelkezik. Ilyen nyelv például a Rust.
  2. A könyvtár tesztelési funkciókat ad hozzá. Példa erre egy olyan könyvtár, amely támogatja a tulajdonságalapú tesztelést.
  3. A feladat csak könyvtár használatával oldható meg. Ilyen feladat például a lens-person feladat, amelyet a legtöbb nyelvben csak könyvtár segítségével lehet megoldani.

A könyvtárak támogatása a tesztfuttatóban

Mivel a tesztfuttató futás közben nem fér hozzá az internethez, a könyvtárakat futásidőben nem lehet letölteni. A probléma egyetlen megoldása, hogy a könyvtárakat már a buildelés során telepítjük/letöltjük, amikor van internet-hozzáférésed. A gyakorlatban ez azt jelenti, hogy a könyvtárakat a Dockerfile-ban kell telepítened/letöltened.

Például a Prolog tesztfuttató Dockerfile-ja telepíti a date_time könyvtárat:

RUN swipl pack install date_time -y

Dokumentáció

Ha a kurzusod támogatja a könyvtárakat, ezt dokumentálni kell egy kurzusdokumentumban. Hivatkozz erre a dokumentumra (a teljes URL-címét használva) a exercises/shared/.docs/help.md dokumentumból is.