如何在Julia中的函数中返回不同的东西

时间:2018-11-23 19:41:47

标签: julia

就像下面的简化函数一样,如果b<c,那么我如何获得结果“否”?

function o(b,c)
    if b>=c        
        return b,c,b+c
    else
        return "No"
    end
end
b = 3
c = 4
k,h,l = o(b,c)

1 个答案:

答案 0 :(得分:2)

真正的问题是您要返回两个完全不同的东西。在一种情况下,将3个不同的变量分配给整数,在另一种情况下,将1个字符串分配给字符串。

该功能实际上在这里工作。您得到的特定错误是因为您试图将3个变量分配给一个字符串。当您将多个变量分配给一个字符串时,julia实际上将字符串拆分为字符并为每个变量分配了一个字符,但是您的字符串只有2个字符长,并且您要分配3个变量。

您应该尝试让函数返回相同类型的对象,或者至少返回相同数量的变量。如果您坚持要让该功能以类似于当前形式的方式工作,那么您可以执行类似的操作

function o(b,c)
    if b>=c        
        return [b,c,b+c]
    else
        return "No"
    end
end
b = 5
c = 4
result = o(b,c)