1

在 Python 中,如果你有一个变量numbers = 5,然后在你写的下一个变量中numbers = 55,变量的值会被更新。

在使用 Pluto.jl 时,我声明了一个名为y_axis. 我决定在另一个单元格中更改此变量的值,但出现此错误:

Multiple definitions for y_axis.

Combine all definitions into a single reactive cell using a `begin ... end` block.

为什么 Pluto.jl 不允许我更改变量?让我告诉你我在说什么。这是第一个单元格:

begin
    
    countries_data_labels = ["Italy", "Germany", "Pakistan", "Turkey", "United Kingdom"];
    
    y_axis = DataFrame() # Creating an empty dataframe to populate the y-axis when plotting graphs.
    
    ...
end

这是下面的2个单元格:

begin
    ...

    y_axis = select!(y_axis, Not([:One_million]));
end

我确信冥王星允许更改变量而不必创建一个巨大的单元块,但我不知道如何。

4

1 回答 1

3

冥王星常见问题解答中对此进行了介绍:

如何修改不同单元格中的变量?

变量只能在单个单元格中分配和修改。这就是使反应性成为可能的原因

https://github.com/fonsp/Pluto.jl/wiki/%E2%9A%A1-Writing-and-running-code

如果您习惯了与 python 不同的工作流程,请考虑通过 IJulia 使用 jupyter Notebooks。

于 2021-03-21T19:18:08.417 回答