加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – YARD:记录自定义getter / setter对,如attr_accessor

发布时间:2020-12-17 03:20:48 所属栏目:百科 来源:网络整理
导读:我正在使用YARD来记录我的项目. YARD文档创建的属性 attr_accessor :some_attribute 在单独的“实例属性摘要”部分中.现在我有另一个属性,但使用自定义setter和getter def some_other_attribute ...enddef some_other_attribute= value ...end 基本上我的问
我正在使用YARD来记录我的项目. YARD文档创建的属性

attr_accessor :some_attribute

在单独的“实例属性摘要”部分中.现在我有另一个属性,但使用自定义setter和getter

def some_other_attribute
  ...
end

def some_other_attribute= value
  ...
end

基本上我的问题是,如何在前一种情况下让YARD像attr_accessor一样记录这对setter / getter,并在“Instance Attribute Summary”中列出some_other_attribute?

解决方法

从0.8开始(现在处于预发布状态),@!属性指令是表示对象是属性的推荐方法.不推荐使用@ attr_ *标签以支持此指令.你也可以(在0.8.0):

# @!parse attr_accessor :some_attribute

解析不一定由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

Ruby不应该介意,除了在ruby -w中它会警告方法重新定义.如果这会让你烦恼,你也可以添加undef foo,foo =.它有点乱(如果你关心-w),这就是我们添加@!parse和@!属性的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读