У вас действительно есть:
julia> (1/0)/(1/0)
NaN
так что это соответствует.
Теперь относительно:
julia> 1/0 / 1/0
Inf
Пожалуйста, обратите внимание, как это оценивается:
julia> :(1/0 / 1/0)
:(((1 / 0) / 1) / 0)
поэтому мы получаем стандартную оценку слева направо (как и следовало ожидать). И вы получите:
julia> 1/0
Inf
julia> (1/0)/1
Inf
julia> ((1/0)/1)/0
Inf
И все в порядке.
На самом деле здесь у вас есть одна особая вещь для наблюдения (это не имеет прямого отношения к вашему вопросу, но полезно знать, как это может возникнуть в качестве следующего вопроса):
julia> Inf / 0
Inf
julia> Inf / (-0)
Inf
julia> Inf / (0.0)
Inf
julia> Inf / (-0.0)
-Inf
Причина в том, что целое число 0
совпадает с -0
:
julia> 0 === -0
true
, но с плавающей точкой несет бит знака:
julia> 0.0 === -0.0
false