在github项目"jobs"的"jobs_info.erl"文件中,它包含以下代码:
pp(L) when is_list(L) ->
[pp(X) || X <- L];
pp(X) ->
case '#is_record-'(X) of %<=========What's meaning of '"#is_record-'?
true ->
RecName = element(1,X),
{RecName, lists:zip(
'#info-'(RecName,fields), %<=======what's meaning of ''#info-'?
pp(tl(tuple_to_list(X))))};
false ->
if is_tuple(X) ->
list_to_tuple(pp(tuple_to_list(X)));
true ->
X
end
end.
Run Code Online (Sandbox Code Playgroud)
什么是表达'#is_record-'和''#info-'?"is_record"可能是指erlang:is_record?但是什么是"'#info-'"?
正如凯末尔指出的那样,请查看github.com/esl/parse_trans/blob/master/src/exprecs.erl#L116上的方法声明.
如果这'让你感到困惑,请记住Erlang中的函数名是一个原子,而一个原子需要以小写字母开头,如果不是,它应该被包围'.查看文档以获取更多信息.
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |