说我有这个代码:
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)。根据我之前的想法,该值应该等于零,但这不是这里所要求的。可以请别人弄清楚这里发生了什么以及//运算符如何工作吗?
答案 0 :(得分:3)
在Julia中,当您不了解某些内容时,要做的第一件事是按?
进入由help?>
提示表示的帮助REPL模式。按?
后,键入您对以下命令感到好奇的命令:
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