Warum gibt diese Funktion einen (eigenen) Wert zurück?

der Code von:Genie howto einen String N-mal als String-Array wiederholenGenie howto einen String N-mal als String-Array wiederholen

def repeatwithsep (e: string, n: int, separator: string): string
    var elen = e.length;
    var slen = separator.length;
    var a = new StringBuilder.sized ((elen * n) + (slen * (n - 1)) + 1);
    for var i = 0 to (n - 1)
        if i != 0
            a.append_len (separator, slen)
        a.append_len (e, elen)
    return (owned) a.str

var a ist eine lokale Variable, wenna verlässt den Gültigkeitsbereich, es wird zerstört. warum diese Funktion

return (owned) a.str

was ist der Unterschied zwische

return a.str

return (owned) a.str

was ist der Nutzen von (im Besitz)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage