有没有办法做这样的事情:
>Location.get_info
......
>Location.get_info --help
outputs info on the location; lazily loads hours
输出嵌入在哪里作为 rdoc 样式注释?我希望能够为我们的 rails 应用程序提供一组种子命令的快速文档
感谢
你几乎可以用Ruby构建所有东西......
我不认为有任何图书馆在做你想做的事。
从你放在帖子上的IRB标签猜测,你想帮助人们使用你的代码。
在这种情况下,您可以告诉他们使用PRY并使用show-doc
功能
[2] pry(main)> show-doc User#url
From: /Users/paule/Documents/rails/on_ruby/app/models/user.rb @ line 39:
Owner: User
Visibility: public
Signature: url()
Number of lines: 1
generates a homepage url for a user
方法不是对象,因此不能在其中存储任何内容。
您可以使用 Object#method
方法获取绑定方法的代理对象,也可以使用 Module#instance_method
方法获取未绑定方法的代理对象,但该代理对象只是一个代理对象。特别是,不能保证在请求代理对象时始终会获得相同的代理对象。
然后在其中存储一些文档,然后获取同一方法的另一个代理对象,这可能是一个不同的代理对象,其中没有您的文档。
例:
class UnboundMethod
attr_accessor :doc
end
map = Array.instance_method(:map)
map.doc = '`map` maps a block over all elements'
map_again = Array.instance_method(:map)
map_again.doc
# => nil
map.doc
# => '`map` maps a block over all elements'
map.object_id == map_again.object_id
# => false
因此,您不能将文档存储在方法中,因为方法不是对象,也不能将其存储在代理对象中,因为 Ruby 不保证这些代理对象的身份。
您需要将其存储在其他地方。也许在定义方法的Module
中,按方法名称进行索引。