我正在尝试使用 Pluto 笔记本学习Javis.jl 。在做教程时,我尝试将Video
对象和Object
不同的 Pluto 块分开,如图所示:
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
如果我将and 与 andBackground
放在同begin...end
一块中,red_ball
则不会发生此错误blue_ball
。
检查源代码后,调用Video()
会在环境中设置一个全局变量,所以我不清楚这是怎么发生的。
关于可能是什么问题的任何想法?谢谢。