2016-07-25 78 views
12

我有一個類型T,我如何獲得在REPL中專門用於這種類型的所有方法?我的動機是T被定義在一個包中,並且可能不容易看到我的意思是從源代碼中使用T如何獲得某種類型的所有方法

綜上所述,我想要的東西像

functions(T) 

methods已經存在,但它需要的功能,我想了解

回答

19

您需要使用methodswith(T)

help?> methodswith 
search: methodswith 

    methodswith(typ[, module or function][, showparents]) 

    Return an array of methods with an argument of type typ. If optional showparents 
    is true, also return arguments with a parent type of typ, excluding type Any. 

    The optional second argument restricts the search to a particular module or 
    function. 

julia> type Foo end 

julia> methodswith(Foo) 
0-element Array{Method,1} 

julia> foo(::Foo) = nothing 
foo (generic function with 1 method) 

julia> methodswith(Foo) 
1-element Array{Method,1}: 
foo(::Foo) at none:1 
相關問題