Elixir语言中 Protocol.consolidate
相关用法介绍如下。
用法:
consolidate(protocol, types)
@spec consolidate(module(), [module()]) ::
{:ok, binary()} | {:error, :not_a_protocol} | {:error, :no_beam_info}
接收协议和实现列表并合并给定的协议。
通过以抽象格式更改协议impl_for
以具有快速查找规则来进行合并。通常在合并期间使用的实现列表是在
的帮助下检索的。extract_impls/2
它返回协议字节码的更新版本。如果元组的第一个元素是 :ok
,则表示协议已合并。
通过分析协议属性,可以检查给定的字节码或协议实现是否被合并:
Protocol.consolidated?(Enumerable)
此函数在任何时候都不会加载协议,也不会加载已编译模块的新字节码。但是,每个实现都必须可用并且将被加载。
相关用法
- Elixir Protocol.extract_protocols用法及代码示例
- Elixir Protocol.derive用法及代码示例
- Elixir Protocol.extract_impls用法及代码示例
- Elixir Protocol用法及代码示例
- Elixir Process.monitor用法及代码示例
- Elixir Process.demonitor用法及代码示例
- Elixir Process.delete用法及代码示例
- Elixir Process.whereis用法及代码示例
- Elixir Process.group_leader用法及代码示例
- Elixir Process.put用法及代码示例
- Elixir Process.registered用法及代码示例
- Elixir Process.register用法及代码示例
- Elixir Process.get用法及代码示例
- Elixir Process.exit用法及代码示例
- Elixir Process.unregister用法及代码示例
- Elixir Process.get_keys用法及代码示例
- Elixir Process.sleep用法及代码示例
- Elixir Process.send用法及代码示例
- Elixir Process.spawn用法及代码示例
- Elixir Process.send_after用法及代码示例
- Elixir Process.list用法及代码示例
- Elixir Path.basename用法及代码示例
- Elixir Path.rootname用法及代码示例
- Elixir Path.type用法及代码示例
- Elixir Path.split用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Protocol.consolidate(protocol, types)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。