gpt4 book ai didi

Erlang 和 method_missing

转载 作者:行者123 更新时间:2023-12-02 05:22:24 26 4
gpt4 key购买 nike

我有 Java 和 Ruby 背景,我想知道在 Erlang 中是否有任何等同于“method_missing”的东西。我查看了文档,我能看到的最接近的是使用 erl_eval 和 erl_parse,但我想知道是否还有其他方法?

最佳答案

有一个 'error_handler' 模块,当你试图调用一个未定义的函数时它会被调用。

process_flag(error_handler, Module).

模块需要导出undefined_function/3undefined_lambda/3。您可以在标准处理程序模块 error_handler 中看到这应该如何实现。

您在自己的error_handler 中需要小心,不要破坏标准代码加载系统。 Erlang 通常会尝试从未定义的函数错误中加载模块,并在放弃并发出错误信号之前重新运行该函数。您通常希望先尝试标准的 error_handler,如果失败则回退到您的新行为。

关于Erlang 和 method_missing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2066396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com