Моя задача - создать гармоническое среднее с помощью макросов.Поэтому я написал что-то вроде этого:
macro mean(arr)
ex = Expr(:call, :/, 1, arr[1])
for i = 2:length(arr)
ex = Expr(:call, :+, ex, Expr(:call, :/, 1, arr[i]))
end
println(arr[1])
Expr(:call, :/, length(arr), ex)
end
и затем выполнил с 4 аргументами
@mean(2,2,5,7)
, что вызвало ошибку:
MethodError: no method matching @mean(::Int64, ::Int64, ::Int64, ::Int64)
Итак, вот мой вопрос:что не так и как мне это исправить?Стоит отметить, что эта программа работает для моего друга, но не для меня.