julia - 将 Javis.jl `Video` 和 `Object` 分离为 Pluto 中的两个不同 block

标签 julia pluto.jl

我正在努力学习Javis.jl与冥王星笔记本。在做tutorial时,我尝试将 Video 分开对象和Object在不同的冥王星 block 中,如图所示:

md"""
Some md here
"""
begin
    myvideo = Video(500, 500)
    Background(1:70, ground)
end

md"""
Some markdown here. Separate block.
"""

begin
    red_ball = Object(....)
    blue_ball = Object(....)
end

这向我显示了一个错误

A `Video` must be defined before an `Object`

var"#Object#10"(::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ::Type{Javis.Object}, ::Symbol, ::Function, ::Luxor.Point)@Object.jl:77
...

如果我输入myvideo,则不会发生此错误和 Background同样begin...end block 为 red_ballblue_ball .

经过源代码检查,调用Video()在环境中设置一个全局变量,因此我不清楚这是如何发生的。

对于可能出现的问题有什么想法吗?谢谢。

最佳答案

我不是 100% 确定,但我认为这可能是因为 Pluto创建一个不同的Module对于每个单元格,因此对象可能无法看到正确的 CURRENT_VIDEO来自其他细胞的常数。

如果我可以问你,为什么要使用不同的单元格?

关于julia - 将 Javis.jl `Video` 和 `Object` 分离为 Pluto 中的两个不同 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70768702/

相关文章:

julia - 尝试更改变量的值时,Pluto.jl 会引发多重分配错误

plot - 为什么我的 Julia 脚本在 Pluto 中不显示情节?

arrays - Julia 中的元素明智减法

regex - Julia 正则表达式

fortran - 在 FORTRAN77 中使用 DATA 和 SAVE 语句时出现意外行为

julia - 在 Pluto.jl 中输入 Unicode 字符

julia - 无法在 Julia 中安装软件包

matplotlib - 使用 Julia 和 PyPlot 绘制球体

julia - 重复函数调用 N 次

julia - Pluto Notebook 中的可变输出