参考这篇文章:如何使用Elixir宏创建动态函数名称?.
上面的帖子询问如何使用宏来生成没有参数的函数,但我想知道如何用一些参数生成函数?
假设有一个宏warp,我可以写代码如下:
warp fun, [args], :ok
Run Code Online (Sandbox Code Playgroud)
然后它生成如下代码:
fun(args), do: :ok
Run Code Online (Sandbox Code Playgroud) 我知道这两个error_logger和error_logger_tty_h是gen_event的交换处理error_logger.
从他们的源代码中,我知道error_logger报告消息最终结束erlang:display,并error_logger_tty_h以`io:format(user,String,Args)结束
我感到困惑的,有什么区别error_logger,并error_logger_tty_h为目的?