这个问题也可能适用于其他语言。
如果我使用内置函数名作为变量名, 我可以通过执行以下操作来恢复该功能:
all = 123
all = Base.all
但是如果我定义了一个自定义函数sum()然后我做了,
sum = Base.sum
我收到错误说"无效重新定义常数和#34;
如果我覆盖它,有没有办法恢复内置函数?或者这是不可能的设计?
答案 0 :(得分:2)
对于此示例,您只需将sum
重新定义为Base.sum
:
sum(x) = Base.sum(x)
这是你想要的吗?
NB。这可能不会覆盖"你对和的定义。如果它使用类型参数(例如sum(x::Vector)
,它仍可能优先于普通sum(x)
发送,在这种情况下,您需要对这些特定方法重复上述操作。
答案 1 :(得分:1)
如果您在使用REPL时只是一个问题,并且不介意丢失所有其他定义,则可以workspace()
重置Main
。< / p>