oop - 在 Julia 中重新定义类型 : invalid redefinition of constant

标签 oop types julia

假设我分配了一个类型 Person在 Julia :

type Person
    name::String
    male::Bool
    age::Float64
    children::Int
end

function describe(p::Person)
    println("Name: ", p.name, " Male: ", p.male)
    println("Age: ", p.age, " Children: ", p.children)
end


ted = Person("Ted",1,55,0)

describe(ted)
它将使用以下功能输出:
Name: Ted Male: true
Age: 55.0 Children: 0
然后我修改 Person 类型的特征我在 eyes 类型中添加了一个新类别
type Person
    name::String
    male::Bool
    age::Float64
    children::Int
    eyes::String
end


ted = Person("Ted",1,55,0,brown)
如果我现在运行该函数,我会收到错误
Error evaluating REPL:
invalid redefinition of constant Person
 in include_string at loading.jl:97
开发新代码时解决此问题的最佳方法是什么?除了按照 julia FAQ 中的建议制作模块

最佳答案

您可以使用 workspace()清除Main的功能如果您不想将代码放在自己的模块中,请使用模块。

关于oop - 在 Julia 中重新定义类型 : invalid redefinition of constant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876064/

相关文章:

Julia GLM - 使用 devresid 进行绘图

C++ 虚函数基返回类型建议

oop - 在加载类时执行方法

c++ - 在两个元素的数组之间转换 std::complex。

mysql - PHP值不会超过127

dataframe - 选择分组数据框中每个组的第 n 个元素

c# - 如何强制派生类覆盖基类的枚举?

java - 如何从扩展同一类的多个类中调用函数

swift - 为什么实例方法在 Swift 中有这种类型?

julia - 带数据框的条件语句 [Julia v1.0]