未定义如何返回Julia错误变量中的变量

未定义如何返回Julia错误变量中的变量,julia,Julia,你好,我有问题,我试图返回我定义的变量,但我得到一个错误变量未定义 type Family name:: AbstractString value:: Int left:: Nullable{Family} right:: Nullable{HuffmanNodeA} Family(name:: AbstractString, value::Int ) = new(name, value , Nullable{F

你好,我有问题,我试图返回我定义的变量,但我得到一个错误变量未定义

type Family
        name:: AbstractString
        value:: Int
        left:: Nullable{Family}
        right:: Nullable{HuffmanNodeA}  
        Family(name:: AbstractString, value::Int ) = new(name, value , Nullable{Family}(), Nullable{Family}())
        end

A = [Family("Julia", 24), ...]

function minimalnia() 
global Family family
min = A[1].value
for i in A
if(i.value < min )
mininmalny = i.value
family = i 
end 
end
println(i)
return family
end 
类型族
名称::抽象字符串
值::Int
左::可为空的{Family}
右::可空{HuffmanNodeA}
Family(name::AbstractString,value::Int)=new(name,value,可为null的{Family}(),可为null的{Family}())
结束
A=[家庭(“朱莉娅”,24岁),…]
函数minimania()
全球家庭
min=A[1]。值
因为我在一个
如果(i.值<最小值)
最小值=i.value
家庭=我
结束
结束
println(i)
回归家庭
结束

我收到错误“未定义族”,为什么会出现此错误,如何更正我的代码?

您的代码中有许多错误。 你应该从一些简单的事情开始,并建立它,确保它在每一步都有效

以下是一个工作的简化版本,供您比较,以了解您做错了什么:

type Family
    name::UTF8String
    value::Int
end


function minimal(families::Vector{Family}) 
    minfamily = Nullable{Family}()

    minval = families[1].value  # will not work if families is empty
    for f in families

        if f.value < minval
            minval = f.value
            minfamily = f 
        end 
    end

    return minfamily
end 

F1 = [Family("Julia", 24)]
@show minimal(F1)

F2 = [F1; Family("Yullia", 23)]
@show minimal(F2)
类型族
名称::UTF8String
值::Int
结束
函数极小值(族::向量{Family})
minfamily=Nullable{Family}()
minval=族[1]。如果族为空,则值#将不起作用
家庭中的f
如果f.值<最小值
最小值=f.value
minfamily=f
结束
结束
回民
结束
F1=[家庭(“朱莉娅”,24)]
@显示最小值(F1)
F2=[F1;家族(“Yullia”,23)]
@显示最小值(F2)

但是,由于您只是在寻找数组上的最小值,因此使用Julia有一种更简单的方法

您的代码中有许多错误。 你应该从一些简单的事情开始,并建立它,确保它在每一步都有效

以下是一个工作的简化版本,供您比较,以了解您做错了什么:

type Family
    name::UTF8String
    value::Int
end


function minimal(families::Vector{Family}) 
    minfamily = Nullable{Family}()

    minval = families[1].value  # will not work if families is empty
    for f in families

        if f.value < minval
            minval = f.value
            minfamily = f 
        end 
    end

    return minfamily
end 

F1 = [Family("Julia", 24)]
@show minimal(F1)

F2 = [F1; Family("Yullia", 23)]
@show minimal(F2)
类型族
名称::UTF8String
值::Int
结束
函数极小值(族::向量{Family})
minfamily=Nullable{Family}()
minval=族[1]。如果族为空,则值#将不起作用
家庭中的f
如果f.值<最小值
最小值=f.value
minfamily=f
结束
结束
回民
结束
F1=[家庭(“朱莉娅”,24)]
@显示最小值(F1)
F2=[F1;家族(“Yullia”,23)]
@显示最小值(F2)

但是,由于您只是在寻找数组上的最小值,因此使用Julia有一种更简单的方法

请只张贴可以使用的代码<代码>HuffManodea未在代码中定义。此外,请使用正确的缩进进行发布,即使这是Stackoverflow的一大难题。我刚刚发现,您可以直接发布代码,然后使用顶部带有大括号的按钮使代码看起来良好。请仅发布可以使用的代码<代码>HuffManodea未在代码中定义。另外,请使用正确的缩进进行发布,即使这是Stackoverflow中的一大难题。我刚刚发现,您可以直接发布代码,然后使用顶部带有大括号的按钮使代码看起来良好。我可以;我不能用UTF8String作为我的名字,因为我不能用它来表示左i右i可以;我的名字不能用UTF8String,因为我不能用它来表示左i右的类型族