RS
1) если свой код пишется с файлом-проекта, то надо добавить пакет в зависимость. И он добавится, поскольку уже был скачан
2) после этого можно будет использовать import Languages
Size: a a a
RS
KT
RS
RS
julia --project=@.RS
activate .RS
RS
VG
מ
מ
מ
מ
VG
t = Tuple{Int32, UInt16}
data = UInt8[0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x00]
res = reinterpret(t, data) # ошибка - размеры не совпадают
sizeof(t) == 8 # != 6
# можно вот так руками пробегать, но как это обернуть для произвольных комбинаций типов в Tuple?
io = IOBuffer(data)
a1 = read(io, Int32)
b1 = read(io, UInt16)
a2 = read(io, Int32)
b2 = read(io, UInt16)VG
АО
VG
@generated function parse_schema(io::IOBuffer, types::Type...)
Expr(:tuple, [Expr(:call, :read, io, i) for i in types]...)
end
types = (Int32, Int16)
data = UInt8[0x01, 0x00, 0x00, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0xff, 0x00]
io = IOBuffer(data)
parse_schema(io, types...)
מ
AZ
🐙
(a∘a∘ ... n раз ... ∘a)(начальный аргумент)
либо
начальный аргумент |> a |>a ... n раз |>aRS