Hello everybody,

I have a larger expression involving purely element-wise operations on vector elements. Using functions like abs(), log10() requires the use of dot-syntax in julia 0.6 unless one ignores the depreciation warning you get when using the program non-interactively, i.e. I will have to use for example

log10.(abs.(vector)). At this point I would like to use the @. macro instead of explicitely writing these dots .

According to https://julialang.org/blog/2017/01/moredots the @. macro should be equivalent to explicit dots. Only that it is not in connection with using length() as demonstrated in a brief made up example below ( I suspect this is a more general issue):

```
julia> abs.(x[1:Int64(round(length(x)/2.0))])
2-element Array{Float64,1}:
1.0
2.0
julia> @. abs(x[1:Int64(round(length(x)/2.0))])
ERROR: MethodError: no method matching colon(::Int64, ::Array{Int64,1})
Closest candidates are:
colon(::T<:Real, ::Any, ::T<:Real) where T<:Real at range.jl:47
colon(::A<:Real, ::Any, ::C<:Real) where {A<:Real, C<:Real} at range.jl:14
colon(::T, ::Any, ::T) where T at range.jl:46
...
```

Naturally two questions arrive:

- Is this non-equivalence a feature, a bug, a missing feature or am I using it wrong ? If I am using it wrong how should I use it ?
- length(x)/2 is not automatically cast to integer as for example in matlab as far as I have observed. I apparently have to convert it explicitely with Int64(round(length(x)/2.0)) ? This looks as if I am doing something stupid. Is there a better way to do this ?

And no, I do not like to use throw-away-variables to do a

```
julia> lastindex=Int64(round(length(x)/2.0))
2
julia> @. abs(x[1:lastindex])
2-element Array{Float64,1}:
1.0
2.0
```

and clutter my code.

Thank you very much for your help in advance !

Best Regards

Christof