Jupyter 和 Ruby:如何在执行单元之前重置所有变量?

Jupyter and IRuby: how to reset all variables befor executing a cell?

为了学习,我在 Jupyter 中使用 IRuby。 如何在执行单元之前重置所有变量?

我需要 %reset 相当于 IPython。

我想确保之前单元格的值不会干扰我正在处理的单元格。

简答

安装 Pry。

gem install pry

然后使用

cd Module.new

a = 1
b = 2
c = 3
d = a + b + c + d
puts d

exit

回答

我Ruby没有魔法命令。 所以你不能使用%reset

不幸的是,我Ruby在顶层定义了局部变量。 Ruby 是一种语言,一旦您定义了它,就没有删除局部变量的正确方法。

好消息是您可以使用 IRuby.

中提供的 Pry 命令

打开Jupyter,写入单元格的第一行。

cd Module.new

cd 是一个 Pry 命令,用于移动到 Pry 会话中的新对象(或范围)。 所以 cd Module.new 意味着您创建一个新的一次性无名模块对象,作为自定义沙箱,然后移入其中。您可以随心所欲地定义变量。计算完后,可以用exit退出pry session。