MethodError: объекты типа Float64 не могут быть вызваны - PullRequest
2 голосов
/ 19 мая 2019

Я сделал функцию для определения объема сферы:

function volume_sphere(r)
  (4/3)(round(π, sigdigits=6))(r)^3
end

julia> println(volume_sphere(5))

Я получил это сообщение об ошибке:

ОШИБКА: MethodError: объекты типа Float64 не могут быть вызваны
Stacktrace:
[1] volume_sphere (:: Int64) в C: \ Users \ Practice.jl: 27
[2] область верхнего уровня в none: 0

Откуда возникла проблема?

Ответы [ 2 ]

2 голосов
/ 19 мая 2019

Эта проблема подробно объясняется здесь .

Короче говоря, вам не разрешается пропускать * при сопоставлении двух выражений в скобках, а также при размещении переменной перед выражением в скобках. Поэтому это правильный код:

4/3*round(π, sigdigits=6)*r^3

Но вы могли бы написать, например, 2r+3(r^2+1)r и это будет действительная строка кода.

0 голосов
/ 19 мая 2019
function volume_sphere(r)

 (4/3)*(round(π, sigdigits=6))*(r^3)

end
...