ВФ
Size: a a a
ВФ
ВФ
KT
ВФ
АО
ntuple вариант требует определённой умственной эквилибристики с каждой новой задачей. Наверное можно научиться конечно мыслить соответствующим образом, но всё равно...k выходящий за границы, то результат будет непредсказуемым (скорее всего упадёт с какой-то неочевидной ошибкой). То есть по хорошему, надо ещё обернуть во всякие разные проверки. В случае с многоточиями такой проблемы нет.АО
function dropxx(t::NTuple, k)
ntuple(i -> i < k ? t[i] : t[i + 1], length(t) - 1)
end
t = Tuple(1:11)
@code_warntype dropxx(t, 5)
Body::NTuple{10,Int64}
...
t = Tuple(1:12)
@code_warntype dropxx(t, 5)
Body::Tuple{Vararg{Int64,N} where N}
АО
АО
KT
АО
generated функциях можно сделать и больше, но вообще это конечно вопрос, насколько это будет быстро/эффективноKT
АО
АО
АО
ВФ
ntuple вариант требует определённой умственной эквилибристики с каждой новой задачей. Наверное можно научиться конечно мыслить соответствующим образом, но всё равно...k выходящий за границы, то результат будет непредсказуемым (скорее всего упадёт с какой-то неочевидной ошибкой). То есть по хорошему, надо ещё обернуть во всякие разные проверки. В случае с многоточиями такой проблемы нет.GC
GC