Elixir是否有打字稿?

Elixir是否有打字稿?

问题描述:

由于TypeScript是Javascript的一个超集,它使开发人员能够定义在编译期间可以检查的类型。Elixir是否有打字稿?

Elixir是否有打字稿,它也是一种动态语言?

Elixir的超集能够在编译期间进行类型检查吗?

在Elixir中有typespec,但是恐怕没有工具可以在执行类型检查的编译阶段工作。然而,有一个第三方,众所周知和常用的工具 - 透析器(Erlang)和Dialyxir,使Elixir项目中使用透析器更容易。它使用提供的typespec分析你的代码。

请看看this视频,因为它在这方面提供了很好的解释(不仅是如何使用Dialyzer,如何理解错误信息,还有如何注释你的功能等)。

欲了解更多关于Elixir类型规格的信息,请查看官方documentation页面。

希望有帮助!

还有typespec。它允许您定义自定义类型并指定功能输入和输出的预期类型。它不像Haskell的类型系统那样强大,但它可以帮助你在你的代码周围建立一些安全网。但是你不能声明单个变量的类型,以便在编译时检查它们。

Dialyzer是第三方静态分析工具,您可以使用它来检查代码的正确性。伴随着类型错误,它会检查不可达的代码和不必要的测试。在Learn Learn Erlang一书中有一个关于透析器的简单易懂的chapter,所以我建议你检查一下,如果你有兴趣的话。