我经常看到Erlang函数返回ok,或者{ok, <some value>},或者{error, <some problem>}.
假设我的函数返回一个整数N.我的函数应该只返回N,还是{ok, N}?
或者假设我的功能包括通话io:function("Yada yada").它应该返回ok还是什么都没有?
或者假设我正在制作唱片或有趣.我应该回来{ok, R}还是(ok, F}?
谢谢,
LRP
Dav*_*don 26
这是一个风格问题,但做出合理的选择对于使代码更具可读性和可维护性还有很长的路要走.以下是基于我自己的偏好以及我在标准库中看到的一些想法:
{ok, _}或ok.很好的例子是:orddict:find/2和application:start/1.我们这样做是因为这两种情况都可以在打电话时轻松模式匹配.foo(bar(N))如果bar/1返回则可能无效{ok, _}.很好的例子是:lists:nth/2和math:cos/1.ok或者true与函数中最后返回的值相反.很好的例子是:ets:delete/1和io:format/1.假设我的函数返回一个整数N.我的函数应该只返回N,还是{ok,N}?
如果根本不存在错误,或者任何错误表示编程错误,N.如果可能有充分的理由失败,则返回{ok, N}({error, Reason}如果失败).
它应该还原还是什么都没有?
在Erlang,你什么都不能回报.如果你没有有意义的回报值,那就行了ok.
| 归档时间: |
|
| 查看次数: |
3142 次 |
| 最近记录: |