Erlang'记录'的解释

 用户rmgq8prdxo 发布于 2022-12-18 18:24

我在这里探索源代码:

https://github.com/s1n4/leptus/blob/master/include/leptus_logger.hrl

并注意到这样定义的记录:

-record(log_data,
    {
      request_time = erlang:localtime() :: calendar:datetime(),
      response_time :: undefined | calendar:datetime(),
      request_line = "" :: string(),
      ip :: inet:ip_address(),
      version = 'HTTP/1.1' :: atom(),
      method = <<"GET">> :: binary(),
      uri = <<"/">> :: binary(),
      headers = [] :: [{binary(), iodata()}],
      status = 200 :: non_neg_integer(),
      content_length = 0 :: non_neg_integer()
    }).

我只知道列表推导和类型中使用的"双冒号".从来没有发现任何关于记录的事 搜索也没有帮助.我把它解释为:

'request_time' is 'erlang:local time()' of type 'calendar:date time()'
response_time is of type undefined or calendar:datetime
and so on ...

它是否正确 ?

1 个回答
  • 是的,你是对的.您可以在记录定义中包含类型信息.实际上,这是记录中最酷的一个方面,而且我很少使用.

    您正在查找的文档的部分是一个有点难以找到,但它记载:

    http://www.erlang.org/doc/reference_manual/typespec.html#typeinrecords

    2022-12-18 18:26 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有