Was bedeutet //-Operator in Julia?
sagen, ich habe diesen Code:
a = 4//2
Das gibt mir "2//1" zurück
b = 4//3
Dies gibt mir "4//3" zurück
Ich verstehe, dass es den Wert von a und b in einfachster Form zurückgibt. Aber was dann? Ich dachte, dass dieser Operator den Wert der Division in ganzzahliger Form zurückgibt und die Erinnerung wegnimmt. Aber es scheint nicht so zu sein, was es tut.
Ich habe tatsächlich diesen Code:
x=Fun(identity,0..4π)
d=domain(x)
B=[ldirichlet(d),lneumann(d),rneumann(d)]
D=Derivative(d)
κ = 0.33205733621519630
u0 = (1//2) * κ * x^2
Ich wollte wissen, was (1//2) hier ist. Nach dem, was ich früher gedacht hatte, hätte dies gleich Null sein sollen, aber das ist hier nicht erforderlich. Kann bitte jemand erklären, was hier passiert und wie der //-Operator funktioniert?
Antworten
Wenn Sie in Julia etwas nicht wissen, müssen Sie zuerst drücken ?, um zum Hilfe-REPL-Modus zu gelangen, der durch die help?>Eingabeaufforderung dargestellt wird. Geben Sie nach dem Drücken ?den Befehl ein, auf den Sie neugierig sind:
help?> //
search: //
//(num, den)
Divide two integers or rational numbers, giving a Rational result.
Examples
≡≡≡≡≡≡≡≡≡≡
julia> 3 // 5
3//5
julia> (3 // 5) // (2 // 1)
3//10
Eine weitere nützliche Möglichkeit, um zu überprüfen, was in Julia vor sich geht, ist die Verwendung von dump:
julia> dump(2//4)
Rational{Int64}
num: Int64 1
den: Int64 2
Schließlich ist es nach dem Kommentar von @DNF erwähnenswert, dass es den Integer-Divisionsoperator ÷(und eine entsprechende Funktion div) gibt, der x/y berechnet und auf eine Ganzzahl gekürzt wird.:
julia> 13 ÷ 4
3