2017-06-16 84 views
1

要獲得功能/模塊的足跡, 我可以這樣做:有沒有辦法獲得函數的「文檔字符串」?

module type S = module type of Stack;; 

我應該怎麼做來得到一些功能的描述/文檔字符串?

+1

utop中的#show命令也很有用。如答案所示,默認情況下,文檔在utop中不可用。在像Clojure這樣的語言中,文檔字符串實際上是與函數一起存儲的。這對於OCaml來說是不自然的,因爲函數被編譯爲非常低級的代碼。除了RichouHunter的回答,應該允許在utop中使用類似docstring的功能的軟件包是ocp-index-top:[https://github.com/reynir/ocp-index-top](https://github.com/ reynir/OCP-索引頂部)。我沒有嘗試過。您還可以使用'odoc'或'ocamldoc'構建自己的文檔頁面。 – Mars

+0

我經常使用ocamlbrowser(現在單獨提供),並且每當我需要刷新標準庫中的某些函數(mli文件有相當好的評論)時,可以從中看到mli文件。 – didierc

回答

3

您可以使用ocp-browser,它提供了一個命令行界面來瀏覽所有已安裝的軟件包。

它具有搜索功能,通過按空格鍵,可以看到與功能相關的文檔。

以下是Stack模塊的示例。

ocp-browser

更新:2017年6月22日

前幾天,一個叫ocp-index-top包發表於OPAM,讓你看到一個OCaml的頂層內的文檔。

enter image description here

+1

很酷,看到我的軟件包得到建議!也許我應該修復它的一些錯誤:-) – ReyCharles

1

我不認爲這是可能的。實際上,簽名應該能讓你很好地瞭解該功能應該做什麼,如果你不確定你需要閱讀manual中的描述。

作爲一個側面說明,有看的東西簽名更簡單的方法(功能,模塊,異常...),這是

# #show ident;; 

書面here

在啓動時,頂層系統包含標準庫中所有模塊的實現。

我理解它爲only the .cm* files are loaded,在這些文件中,您不會找到記錄功能的註釋。那麼,我幾乎可以確定你無法從頂層讀取函數的文檔。

不過,說真的,我覺得你習慣了從它的名稱和簽名瞭解函數的目的

+0

是的,我知道這一點,但它只是一個簽名。有時你真的需要文檔(但無論如何感謝你的幫助和+1) –

+0

然後你必須瀏覽手冊;-) – Lhooq

相關問題