Juliaで//演算子はどういう意味ですか?

Aug 20 2020

私はこのコードを持っていると言います:

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)が何であるか知りたかった。私が以前に考えていたものから、これはゼロに等しいはずでしたが、それはここで必要とされるものではありません。ここで何が起こっているのか、//演算子はどのように機能するのかを誰かに明確にしてもらいましょう。

回答

3 PrzemyslawSzufel Aug 20 2020 at 21:41

ジュリアでは、何かがわからない場合、最初に行うことは、を押し?て、help?>プロンプトで表されるヘルプREP​​Lモードに移動することです。を押した後?、興味のあるコマンドを入力します。

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

ジュリアで何が起こっているかを確認するもう1つの便利な方法は、次を使用することdumpです。

julia> dump(2//4)
Rational{Int64}
  num: Int64 1
  den: Int64 2

最後に、@ DNFによるコメントに続いて、整数に切り捨てられたx / yを計算する整数除算演算子÷(および対応する関数div)があることに注意してください。

julia> 13 ÷ 4
3