julia如何获取传递过来的函数的形参名字

首先我定义一个变量 a =2
其次,我定义一个函数
function sq(x)
return x^2
end
第三,调用函数sq:sq(a)=4

我的问题是,如何才能在函数sq()中获取传过来的参数a的名字。

什么叫a的名字?字符串,符号,还是别的什么?

https://stackoverflow.com/questions/38986764/save-variable-name-as-string-in-julia

a = 2
sq(a)

我想在函数sq()中输出字符串“a”

把变量的名作为symbol传入, 例如:

julia> function pass2func(f::Function, x::Symbol;mod=@__MODULE__)
           @assert isdefined(mod, x)
           println(x, " = ", f(eval(x)))
           end
pass2func (generic function with 1 method)
a=2
julia> pass2func(sq, :a)
a = 4

你想要的东西其实是宏

#!/usr/bin/julia
macro sq(a::Symbol)
    println("sq(",a,")","=",eval(a)^2)
end
x=2
@sq x
# sq(x)=4

谢谢您, :grinning: :grinning:

谢谢, :grinning: :grinning:

:pray::pray::pray::pray:您帮助了我好多次了。

谢谢你,julia中文社区没法关注用户,我在github上关注你了。

备案号:京ICP备17009874号-2