У меня есть эта структура в Julia 1.0:
mutable struct Metadata
id::Int64
res_id::Int64
end
Так что я могу создать их массив, где id
всегда увеличивается на единицу, но res_id
только иногда увеличиваетсявот так:
data = [
Metadata(1, 1),
Metadata(2, 1),
Metadata(3, 1),
Metadata(4, 2),
Metadata(5, 2),
Metadata(6, 2),
...]
Что я хочу сделать, так это уметь перебирать этот массив, но получать блоки на основе res_id
(все данные с res_id
1, затем 2 и т. д.).Желаемое поведение будет примерно таким:
for res in iter_res(data)
println(res)
end
julia>
[Metadata(1, 1), Metadata(2, 1), Metadata(3, 1)]
[Metadata(4, 2), Metadata(5, 2), Metadata(6, 2)]
Как мне это сделать в Julia 1.0, учитывая, что мне также нужно нормально перебирать массив, чтобы получить элемент за элементом?