julia - 在 Julia 中获得函数世界年龄的简单方法?

标签 julia

我刚刚在 Julia 中了解了世界年龄,必须说这个概念需要一些时间才能理解。为了帮助我接受它,能够在某些情况下明确地看到世界年龄可能会很有用。例子。是否有捷径可寻?

我想我可以以某种方式让我的例子总是遇到世界年龄错误,但我希望有一种不那么令人难以置信的方法来实现这一点。

最佳答案

以下内容是 hack-ish,适用于 0.6.1,但稍后可能会崩溃:

min_world(f) = (methods(f)).ms[1].min_world

macro cur_world()
    :(min_world(x -> $(rand())*x))
end

其工作原理如下:

julia> f(x) = 2x
f (generic function with 1 method)

julia> @cur_world()
21827

julia> g(x) = sqrt(x)
g (generic function with 1 method)

julia> @cur_world()
21829

julia> min_world(f)
21826

julia> min_world(g)
21828

在任何实际代码中使用世界年龄计数器听起来都是错误的方法。

关于julia - 在 Julia 中获得函数世界年龄的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47239804/

相关文章:

performance - Julia 文件输入读取速度

multithreading - 如何获得多线程dot()函数?

julia - 将 Array{Int64} 转换为 Array{Int32} 时检查溢出的方法

julia - Julia 中的空数据框添加行

julia - 如何在 Julia 中进行并行矩阵乘法?

julia - 参数错误: quantiles are undefined in presence of NaNs or missing values

csv - 当字符串以\结尾时 readtable()

julia - DynamicalSystems 初始条件不工作的轨道图

compiler-errors - 什么是 UndefvarError?

scope - 虽然没有全局