这个问题也可能适用于其他语言。
如果我使用内置函数名作为变量名,
我可以通过执行以下操作来恢复该功能:
all = 123
all = Base.all
但是如果我定义,例如,一个自定义函数 sum() 然后我做,
sum = Base.sum
我收到一条错误消息,提示“常量总和的重新定义无效”
如果我重写了内置函数,有没有办法恢复它?或者这是不可能的设计?
最佳答案
对于这个例子,你可以重新定义 sum
如 Base.sum
:sum(x) = Base.sum(x)
那是你想要的吗?
注意。这可能不会“覆盖”您对总和的定义。如果它使用类型参数(例如 sum(x::Vector)
,它仍可能优先于一般的 sum(x)
被调度,在这种情况下,您需要对这些特定方法重复上述操作。
关于julia - 如何在 Julia 中恢复被覆盖的内置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41594744/