Mar*_*sen 5 ruby documentation yard
我正在使用YARD来记录我的项目.YARD文档创建的属性
attr_accessor :some_attribute
Run Code Online (Sandbox Code Playgroud)
在单独的"实例属性摘要"部分中.现在我有另一个属性,但使用自定义setter和getter
def some_other_attribute
...
end
def some_other_attribute= value
...
end
Run Code Online (Sandbox Code Playgroud)
基本上我的问题是,如何让YARD像attr_accessor前一种情况一样记录这对setter/getter ,并some_other_attribute在"Instance Attribute Summary"中列出?
从0.8开始(现在处于预发布状态),该@!attribute指令是表示对象是属性的推荐方法.@attr_*不推荐使用这个标签以支持该指令.你也可以(0.8.0+):
# @!parse attr_accessor :some_attribute
Run Code Online (Sandbox Code Playgroud)
解析不一定由Ruby执行的代码.在0.8之前,您可以直接添加attr_accessor,然后重新定义setter/getter,如下所示:
class MyClass
attr_accessor :foo
def foo; something_else end
def foo=(v) something_else(v) end
end
Run Code Online (Sandbox Code Playgroud)
Ruby不应该介意,除非ruby -w它会警告方法重新定义.如果这会让你烦恼,你也可以加入undef foo, foo=.它有点乱(如果你关心-w),这就是为什么我们添加像@!parse和@!attribute.
| 归档时间: |
|
| 查看次数: |
1879 次 |
| 最近记录: |