I have a function that operates on an AbstractVector object `fs`, defined like this:
function foo{T}(fs::AbstractVector{T}) out = zero(T) for f in fs # do some with out and f, e.g. sum end scale!(out, 42) end This code should be generic, and the eltype `T` could be a number, e.g., a Float64, or a vector, e.g. Vector{Float64}. The function loops over the entries of `fs` and then scales the `out` variable by a magic number 42. The above definition works well when `T` is a vector, but fails when `T` is a scalar with a MethodError, as scale! does not have a method when both inputs are numbers. A possible method definition would be something along the lines of scale!(a::Number, b::Number) = a*b Probably `scale!` is not the right way to implement this. Any suggestions that apply to 0.4 and/or 0.5 are very welcome! Thanks