gpt4 book ai didi

documentation - lua - 文档的元数据

转载 作者:行者123 更新时间:2023-12-01 13:06:04 24 4
gpt4 key购买 nike

我读过 Norman Ramsey 关于 using metadata for generating documentation in lua 的评论.

我正在尝试从我的库生成文档,如果可能我宁愿不使用 luadoc。

我想了解更多关于这种用于生成文档的“面向元数据”的方法 - 方法、示例或使用的程序。

欢迎其他答案,但这是一个 Norman 可能比其他人都能更好地回答的问题。

谢谢!

最佳答案

嗯,我想我应该回答这个问题。虽然我可能会在 2010 年 7 月 15 日之后进入可发布状态,但我的代码还没有准备好迎接黄金时段——我很乐意提前分享副本。

有两种思路:

  1. 每个模块都有一个名为__doc 的表。模块中的每个名称在 __doc 表中都有一个条目。这是一个例子:

    __doc.rfc2822_to_localtime_or_nil = [[function(date) returns number or nil
    Converts RFC2822 date to local time (Unix time).
    ]]

    第一行是函数的“简短文档”。我希望有一天它可以动态检查,但现在它只是文档。剩下的就是“长文档”。这里还有一些:

    __doc.to_string = [[function(T) returns string
    Converts a message to a string in RFC 2822 format.]]

    __doc.to_orig_string = [[function(T) returns string
    Returns the string originally used to create the message,
    which may or may comply with RFC 2822.]]

    还有__doc.__overview__doc.T等各种特殊字段。

  2. 有一个命令行工具可以抓取 __doc 字段并提供信息。现在这段代码不是很通用,实现起来一团糟。但这里有一些示例输出:

    整个包的概览(注意未记录项目的列表,这对保持诚实至关重要):

    % osbf3 internals

    Documented modules:
    boot
    cache -- the OSBF-Lua message cache
    cfg
    classifier
    command_line
    commands
    core
    filter
    lists
    log
    mime
    mlearn
    msg -- parse MIME message and manipulate headers
    options
    output
    roc
    sfid
    util

    Undocumented functions:
    core.hash
    core.utf8tohtml
    options.env_default

    一个模块的简短概述:

    : nr@yorkie 5874 ; osbf3 internals -short msg

    msg: T = The representation of a message

    msg.add_header = function(T, tag, contents)

    msg.del_header = function(T, tag, ...)

    msg.fingerprint = function(string) returns string

    msg.has_sfid = function(msg.T) returns bool

    msg.header_indices = function(msg, tag, ...) returns iterator

    msg.headers_tagged = function(msg, tag, ...) returns iterator

    msg.of_string = function(s, uncertain) returns T or nil

    msg.sfid = function(msg.T, [msgspec]) returns string or calls error

    msg.synopsis = function(T, w) returns string

    msg.to_orig_string = function(T) returns string

    msg.to_string = function(T) returns string

    一个函数的文档:

    % osbf3 internals msg.synopsis

    msg.synopsis = function(T, w) returns string
    Returns a string of width w (default 60) which is a synopsis of the
    message T. The synopsis is formed from the Subject: line and the
    first few words of the body.

我们的服务器宕机了,但当我有机会的时候,如果有人想玩这个代码,我会发布一个链接。

关于documentation - lua - 文档的元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com