elixir-type_check:类型检查

时间:2024-05-04 12:09:17
【文件属性】:

文件名称:elixir-type_check:类型检查

文件大小:504KB

文件格式:ZIP

更新时间:2024-05-04 12:09:17

metaprogramming property-based-testing elixir-lang type-checking Elixir

TypeCheck:对您的Elixir项目进行快速灵活的运行时类型检查。 核心思想 类型和功能规范是使用(基本上)与内置Elixir Typespecs相同的语法构造的。 当值与类型检查不匹配时,将向用户显示人性化的错误消息。 类型和类型检查在编译时生成。 这意味着编译器会严格优化类型检查代码。 可以从类型规范中提取属性检查生成器,而无需额外的工作。 添加自定义检查的灵活性:可以命名类型的子部分,并且可以指定“类型保护”来限制允许匹配这些类型的值。 使用范例 我们在模块中添加use TypeCheck ,并且在任何要添加运行时类型检查的地方,我们都将@type和@spec的常规调用替换为@type! 和@spec! 分别。 defmodule User do use TypeCheck defstruct [ :name , :age ] @type ! t :: %


【文件预览】:
elixir-type_check-master
----.gitignore(582B)
----README.md(11KB)
----test()
--------type_check_test.exs(3KB)
--------test_helper.exs(15B)
--------type_check()
----LICENSE(1KB)
----benchmarks()
--------simple.exs(383B)
--------simple.ex(215B)
----media()
--------type_check_logo_icon.png(100KB)
--------type_check_logo_icon_flat.svg(99KB)
--------type_check_logo_flat.svg(119KB)
--------type_check_logo.svg(124KB)
--------type_check_logo_icon_flat_small.svg(72KB)
--------type_check_logo.png(201KB)
----.travis.yml(326B)
----mix.lock(3KB)
----lib()
--------type_check()
--------type_check.ex(11KB)
----mix.exs(2KB)
----Comparing TypeCheck and Norm.md(6KB)
----.formatter.exs(275B)

网友评论