Is it an oversight that ?draw_rectangle does not show methods if a
docstring is present
It’s the expected behaviour.
If you’d like to have a method table show up when searching for function
docs then you can do something like
module M
"""
f(x)
...
"""
f(x) = x
"""
f(x, y)
...
"""
f(x, y) = x + y
f(x, y, z) = x + y - z
"""
# Function List
```
$(methods(f))
```
"""
f
end
Note that the docs for f must be added after every method is defined so
that they all show up in methods(f).
Then when searching for M.f you’d get
help?> M.f
f(x, y)
...
f(x)
...
Function List
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
# 3 methods for generic function "f":
f(x) at /home/mike/M.jl:8
f(x, y) at /home/mike/M.jl:15
f(x, y, z) at /home/mike/M.jl:17
When searching for individual methods the method list won’t show up though:
help?> M.f(::Any)
f(x)
...
help?> M.f(1, 2)
f(x, y)
...
— Mike
On Sunday, 25 October 2015 04:13:58 UTC+2, Cedric St-Jean wrote:
A lot of my documentation looks like this:
>
> """ Draws a rectangle of size `(width, height)` and color `color`"""
> function draw_rectangle(width::Int, height::Int; color="black")
> ...
> end
>
> The interactive help ?draw_rectangle shows:
>
> search:
>
> Draws a rectangle of size (width, height) and color color
>
> draw_rectangle
>
>
> Unfortunately, this is missing the type information and method list. In
> contrast, if I didn't specify a docstring, ?draw_rectangle_ yields
>
> draw_rectangle_ is a generic Function.
> # 1 method for generic function "draw_rectangle_":
> draw_rectangle_(width::Int64, height::Int64) at In[72]:2
> draw_rectangle_ draw_rectangle
>
> This is obviously useful information, and I'd like to see both the
> docstring and the list of methods. Is it an oversight that ?draw_rectangle
> does not show methods if a docstring is present, or is there a convention
> that the method list should be replicated inside the docstrings somehow?
>
> Cédric
>