Co oznacza operator // w Julii?
powiedz, że mam ten kod:
a = 4//2
Zwraca mi to „2 // 1”
b = 4//3
Zwraca mi to „4 // 3”
Rozumiem, że zwraca wartość a i b w najprostszej formie. Ale co wtedy? Pomyślałem, że ten operator zwraca wartość dzielenia w postaci liczby całkowitej, usuwając przypomnienie. Ale nie wygląda na to, że to właśnie robi.
Właściwie mam ten kod:
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
Chciałem wiedzieć, co to jest (1 // 2). Z tego, co myślałem wcześniej, powinno to być równe zero, ale nie jest to wymagane tutaj. Czy może ktoś wyjaśnić, co się tutaj dzieje i jak działa operator //?
Odpowiedzi
W Julii, gdy czegoś nie wiesz, pierwszą rzeczą do zrobienia jest naciśnięcie, ?aby przejść do trybu pomocy REPL reprezentowanego przez help?>znak zachęty. Po naciśnięciu ?wpisz polecenie, które Cię interesuje:
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
Dodatkowym przydatnym sposobem sprawdzenia, co się dzieje w Julii, jest użycie dump:
julia> dump(2//4)
Rational{Int64}
num: Int64 1
den: Int64 2
Na koniec, podążając za komentarzem @DNF, warto zauważyć, że istnieje operator dzielenia liczb całkowitych ÷(i odpowiadająca mu funkcja div), który oblicza x / y, obcięte do liczby całkowitej .:
julia> 13 ÷ 4
3