Zub*_*air 2 erlang method-missing
我来自Java和Ruby背景,我想知道在Erlang中是否有任何"method_missing"的等价物.我已经看过的文件,我可以看到的是使用erl_eval和erl_parse最接近的,但我想知道是否有任何其他方式?
arc*_*lus 18
当您尝试调用未定义的函数时,会调用'error_handler'模块.
process_flag(error_handler, Module).
Run Code Online (Sandbox Code Playgroud)
该模块需要导出undefined_function/3
和undefined_lambda/3
.您可以在标准处理程序模块中看到它应该如何实现error_handler
.
你需要小心自己error_handler
不要破坏标准的代码加载系统.Erlang通常会尝试从未定义的函数错误加载模块,并在放弃并发出错误信号之前重新运行该函数.您通常希望首先尝试标准的error_handler,如果失败则回退到新的行为.
归档时间: |
|
查看次数: |
666 次 |
最近记录: |