gpt4 book ai didi

c++ - 如何让 rdoc 从我的 c 扩展中正确读取方法参数?

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:16 29 4
gpt4 key购买 nike

所有,我正在使用 rdoc 为我的包含 C 扩展的 Ruby 代码生成文档,但是我的方法参数有问题。 Rdoc 没有正确解析它们的名称,而是使用 p1、p2 等。

所以,首先,我的扩展实际上被编译为 C++,所以我必须使用如下所示的函数定义:

static VALUE 
MyMethod(VALUE self, VALUE flazm, VALUE saszm)
{
return Qnil;
}

看起来 rdoc 期望像这样的旧式“C”定义:

static VALUE
MyMethod(self, flazm, saszm)
VALUE self;
VALUE flazm;
VALUE saszm;
{
return Qnil;
}

无论如何我可以让这个工作吗?

最佳答案

RDoc 对 C 扩展* 中的参数名称一无所知。这是 RDoc 编译参数字符串的方式:

meth_obj.params = "(" + (1..p_count).map{|i| "p#{i}"}.join(", ") + ")"

更改源格式不会有帮助。

要改进您的文档,您可以使用 call-seq 指令。您可以指定一种或多种方式来调用您的方法,这些方法将被用来代替默认的 method(p1, p2) 东西。

/*
* call-seq:
* my_method(flazm, saszm) -> nil
* my_method(bunny) { |fluffy_ears| ... } -> true or false
*
* Method description here.
*/
static VALUE
MyMethod(VALUE self, VALUE flazm, VALUE saszm)
{
return Qnil;
}

* 它对其他一些事情也一无所知。基于正则表达式的“解析”非常幼稚。

关于c++ - 如何让 rdoc 从我的 c 扩展中正确读取方法参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1030100/

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