julia> mt=methods(randjump)
# 2 methods for generic function "randjump":
randjump(r::MersenneTwister, jumps::Integer) at random.jl:145
randjump(mt::MersenneTwister, jumps::Integer, jumppoly::AbstractString) at 
random.jl:137

julia> mt.ms[2].lambda_template.slotnames
8-element Array{Any,1}:
 Symbol("#self#")
 :mt             
 :jumps          
 :jumppoly       
 :mts            
 Symbol("#temp#")
 :i              
 :cmt            

julia> mt.ms[2].lambda_template.nargs
4




On Friday, November 4, 2016 at 7:00:56 PM UTC-4, David Anthoff wrote:
>
> How do I get at this nargs field? On julia 0.5 Method doesn't seem to have 
> a field with that name? 
>
> > -----Original Message----- 
> > From: julia...@googlegroups.com <javascript:> [mailto:julia- 
> <javascript:> 
> > us...@googlegroups.com <javascript:>] On Behalf Of Yichao Yu 
> > Sent: Friday, November 4, 2016 3:54 PM 
> > To: Julia Users <julia...@googlegroups.com <javascript:>> 
> > Subject: Re: [julia-users] Getting parameter names from Method 
> > 
> > On Fri, Nov 4, 2016 at 6:31 PM, David Anthoff <ant...@berkeley.edu 
> <javascript:>> 
> > wrote: 
> > > Is there a way to get the names of the parameters of a method from a 
> > > Method type instance on julia 0.5? 
> > 
> > Roughly: 
> > 
> > nargs tell you how many arguments the method accepts, the first one 
> being 
> > the object (function) being called. 
> > The local variables names are available in the CodeInfo.slotnames and 
> the 
> > first nargs ones are the parameter names. 
> > The CodeInfo can be found in the source field of the method for non- 
> > generated functions and unspecialized.inferred for generated function. 
> > 
> > > 
> > > 
> > > 
> > > Thanks, 
> > > 
> > > David 
>
>

Reply via email to