库


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)。