在 Julia 中,确定对象是否可调用的最佳方法是什么?(例如,有没有类似 python 的callable
功能?)
编辑:这是人们希望的:
f() = println("Hi")
x = [1,2,3]
a = 'A'
callable(f) # => true
callable(x) # => false
callable(a) # => false
callable(sin) # => true
在 Julia 中,确定对象是否可调用的最佳方法是什么?(例如,有没有类似 python 的callable
功能?)
编辑:这是人们希望的:
f() = println("Hi")
x = [1,2,3]
a = 'A'
callable(f) # => true
callable(x) # => false
callable(a) # => false
callable(sin) # => true
这个怎么样:
julia> function iscallable(f)
try
f()
return true
catch MethodError
return false
end
end
iscallable (generic function with 1 method)
julia> f() = 3
f (generic function with 1 method)
julia> iscallable(f)
true
julia> x = [1,2]
2-element Array{Int64,1}:
1
2
julia> iscallable(x)
false
这实际上是一件非常 Pythonic 的事情(我怀疑效率不高)。用例是什么?