在Julia中,确定对象是否可调用的最佳方法是什么? (例如,是否有python callable
函数的模拟?)
编辑:这是人们所希望的:
f() = println("Hi")
x = [1,2,3]
a = 'A'
callable(f) # => true
callable(x) # => false
callable(a) # => false
callable(sin) # => true
答案 0 :(得分:2)
答案 1 :(得分:1)
这个怎么样:
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的事情(我怀疑效率不高)。 用例是什么?