2017-02-25 137 views
0

由於TypeScript是Javascript的一個超集,它使開發人員能夠定義在編譯期間可以檢查的類型。Elixir是否有打字稿?

Elixir是否有打字稿,它也是一種動態語言?

Elixir的超集能夠在編譯期間進行類型檢查嗎?

回答

3

在Elixir中有typespec,但是恐怕沒有工具可以在執行類型檢查的編譯階段工作。然而,有一個第三方,衆所周知和常用的工具 - 透析器(Erlang)和Dialyxir,使Elixir項目中使用透析器更容易。它使用提供的typespec分析你的代碼。

請看看this視頻,因爲它在這方面提供了很好的解釋(不僅是如何使用Dialyzer,如何理解錯誤信息,還有如何註釋你的功能等)。

欲瞭解更多關於Elixir類型規格的信息,請查看官方documentation頁面。

希望有幫助!

0

還有typespec。它允許您定義自定義類型並指定功能輸入和輸出的預期類型。它不像Haskell的類型系統那樣強大,但它可以幫助你在你的代碼周圍建立一些安全網。但是你不能聲明單個變量的類型,以便在編譯時檢查它們。

Dialyzer是第三方靜態分析工具,您可以使用它來檢查代碼的正確性。伴隨着類型錯誤,它會檢查不可達的代碼和不必要的測試。在Learn Learn Erlang一書中有一個關於透析器的簡單易懂的chapter,所以我建議你檢查一下,如果你有興趣的話。