Why does 
input_len::Uint = sizeof(bytes_input)
work in the body of the function but not at the REPL?

Inside the function, it is converted to
_var0 = sizeof(bytes_input::Array{Uint8,1})::Int64
input_len = (top(box))(Uint64,_var0::Int64)::Uint64 # line 3:


On Sunday, September 6, 2015 at 4:31:35 AM UTC+2, Corey Moncure wrote:
>
> Can someone help me understand what's going on here?
> Maybe I've been sitting at my desk too long?
>
> julia> arr = hex2bytes("14fb9c03")
> 4-element Array{Uint8,1}:
>  0x14
>  0xfb
>  0x9c
>  0x03
>
> julia> f(x) = abs((x % 3) - 3)
> f (generic function with 1 method)
>
> julia> function test_abs(bytes_input::Array{Uint8})
>        input_len::Uint = sizeof(bytes_input)
>        a::Int = f(input_len)
>        println("a: ", a, " input len: ", input_len)
>        end
> test_abs (generic function with 1 method)
>
> julia> test_abs(arr)
> a: -2 input len: 4                  <-- minus 2????
>
> julia> sizeof(arr)
> 4
>
> julia> f(4)
> 2                                   <-- expected
>
>
>
>
>

Reply via email to