Size: a a a

Язык программирования Julia / Julia programming language

2020 November 06

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну и кстати мой косяк, но 1:length(a) писать не надо, лучше использовать eachindex(a) или axes(a, 1) на худой конец.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
О! Интересная статья

https://invenia.github.io/blog/2020/11/06/interfacetesting/

Я глубоко не вчитывался, но похоже, что они таки написали систему контрактов для Джулии. То есть классов в Джулии конечно не будет, но контракты сделать можно и в этом случае можно уже вполне production решения писать.
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
known = Dict(0=>0, 1=>1)

function fibonacci(n)
   return get!(known, n, (fibonacci(n-1) + fibonacci(n-2)))
end
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Подскажите что не так
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
улетает в стек оверфлоу
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
с аргументом в целом любым, тестил на 2+
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
get!(t::AbstractDict, key, default) = get!(() -> default, t, key)
function get!(default::Callable, t::AbstractDict{K,V}, key) where K where V
   haskey(t, key) && return t[key]
   val = default()
   t[key] = val
   return val
end
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Я так понимаю дело в реализации, дефаут вызывается в любом случае?
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
хм, да вроде он ретерн делает до вызова
источник

A

Arthur in Язык программирования Julia / Julia programming language
Они просто описали как тестировать интерфейсы же, нет? Жёсткие контракты в принципе в Джулии невозможны, насколько я знаю
источник

VZ

Vadim Z in Язык программирования Julia / Julia programming language
Viktor G.
Как сделать findall для нескольких массивов одинаковой длины?
Добрый день! Попробовал написать вариант для более чем 2 массивов: (x->x. >0).([a,b])|>x->hcat(x...)|>x->all(x,dims=2)|>vec|>findall
источник

A

Arthur in Язык программирования Julia / Julia programming language
Есть ещё binarytraits.jl, там можно проверять на соответствие интерфейсу
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
Vadim Z
Добрый день! Попробовал написать вариант для более чем 2 массивов: (x->x. >0).([a,b])|>x->hcat(x...)|>x->all(x,dims=2)|>vec|>findall
ёёё
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Arthur
Они просто описали как тестировать интерфейсы же, нет? Жёсткие контракты в принципе в Джулии невозможны, насколько я знаю
Да, к сожалению не совсем то, что я думал. Хотя конечно полезная информация.
источник

A

Arthur in Язык программирования Julia / Julia programming language
Где-то на дискурсе были обсуждения на этот счёт, все свелось к тому же: язык динамический, пишите тесты
источник

A

Arthur in Язык программирования Julia / Julia programming language
Может в 2.0, конечно, завезут что-нибудь из статик мира, но не понятно получится ли вообще такое сделать
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Alexandr Krotov
хм, да вроде он ретерн делает до вызова
Видимо он слишком умный и всё-таки пытается посчитать функцию до.
источник

УМ

Убийца Мамонтов... in Язык программирования Julia / Julia programming language
о чём вы тут вообще? (простыми словами)
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
function fibonacci(n; known = known)
   println(n)
   return get!(known, n, (fibonacci(n-1) + fibonacci(n-2)))
end

fibonacci(2)

пишет кучу отрицательных чисел.
источник

AK

Alexandr Krotov in Язык программирования Julia / Julia programming language
Дебаггер вообще странно себя ведет
источник