줄리아에서 // 연산자는 무엇을 의미합니까?

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)가 무엇인지 알고 싶었습니다. 내가 이전에 생각했던 것에서 이것은 0과 같아야하지만 여기서 요구되는 것은 아닙니다. 누군가 여기서 무슨 일이 일어나고 있는지 그리고 // 연산자가 어떻게 작동하는지 설명해 주시겠습니까?

답변

3 PrzemyslawSzufel Aug 20 2020 at 21:41

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

One more additional usefull way to check what is going on in Julia is to use dump:

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

Finally, following the comment by @DNF it is worth noting that there is the integer division operator ÷ (and a corresponding function div) that computes x/y, truncated to an integer.:

julia> 13 ÷ 4
3