كيف يمكنني جعل rdoc قراءة صحيح الحجج طريقة من تمديد ج بلدي؟
-
06-07-2019 - |
سؤال
وقبل كل شيء، أنا باستخدام rdoc لتوليد الوثائق لقانون بلدي روبي التي تحتوي على C-التمديدات، ولكن أواجه مشاكل مع الحجج لي طريقة. 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;
}
* <م> هو جاهل حول بعض الأشياء الأخرى كذلك. التعابير المنطقية القائمة على "تحليل" ساذج جدا. م>