函式庫


Exercism 的目標,是教導學習者掌握程式語言的語法、慣用語,以及標準函式庫的流暢度。這裡刻意不提及外部(非內建)函式庫,因為那屬於熟練度的範疇。因此,除了少數例外,練習必須能在不使用函式庫的情況下解出。

支援函式庫的理由

軌道仍可能想支援函式庫的理由有幾個:

  1. 這種語言的標準函式庫(非常)精簡。Rust 就是這類語言的例子。
  2. 函式庫能額外提供測試功能。例如,有個函式庫新增了對基於屬性的測試的支援。
  3. 這個練習只能靠函式庫才能解出。這類練習的例子是 lens-person 練習,在大多數語言中,它只能靠函式庫才能解出。

在測試執行器中支援函式庫

由於測試執行器在執行時無法連上網際網路,因此不可能在執行時下載函式庫。這個問題的唯一解法,就是在建置時安裝/下載函式庫,因為那時你確實能連上網際網路。實務上,這表示你需要在 Dockerfile 裡安裝/下載函式庫。

舉例來說,Prolog 測試執行器的 Dockerfile 會安裝date_time函式庫:

RUN swipl pack install date_time -y

說明文件

如果你的軌道支援函式庫,應該在軌道文件中加以說明。另外也請在exercises/shared/.docs/help.md文件中,用它的完整網址連結到本文件。