Что означает оператор // в Юлии?
скажем, у меня есть этот код:
a = 4//2
Это возвращает мне "2 // 1"
b = 4//3
Это вернет мне "4 // 3"
Я понимаю, что он возвращает значение a и b в простейшей форме. Но что тогда? Я думал, что этот оператор возвращает значение деления в целочисленном виде, убирая напоминание. Но не похоже, что это то, что он делает.
На самом деле у меня есть такой код:
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
Я хотел знать, что здесь (1 // 2). Из того, что я думал ранее, это должно было быть равно нулю, но это не то, что здесь требуется. Может кто-нибудь уточнить, что здесь происходит и как работает оператор //?
Ответы
В Julia, когда вы чего-то не знаете, первое, что нужно сделать, это нажать, ?
чтобы перейти в режим REPL справки, представленный help?>
подсказкой. После нажатия ?
введите интересующую вас команду:
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
Еще один полезный способ проверить, что происходит в Julia, - это использовать dump
:
julia> dump(2//4)
Rational{Int64}
num: Int64 1
den: Int64 2
Наконец, после комментария @DNF стоит отметить, что существует оператор целочисленного деления ÷
(и соответствующая функция div
), который вычисляет x / y, усеченный до целого:
julia> 13 ÷ 4
3