169 похожих чатов

Здравствуйте, играюсь сейчас с сериализацией/десериализацией пользовательских типов с JLD2. В

моём типе одно из полей -- DataFrame. Следуя документации расширил JLD2.writeas, и Base.convert. Проверяю в REPL, как десериализует мой файл после перезапуска сессии Julia: пока не вызвать using DataFrames вместо датафрейма каша из столбцов. Так и должно быть?

Моё наивное предположение -- метод show сохряняется куда-то рядом в jld2 файл. Это не так?

Так-то в целом всё нормально распаковывается, если вызван DataFrames и модуль, где объявляется кастомный тип.

3 ответов

35 просмотров

jldopen("example.jld2", "w") do file file["mygroup/mystuff"] = 42 end # or save("example.jld2", "mygroup/mystuff", 42)

Alex- Автор вопроса

Столкнулся сейчас с очень труднообъяснимым багом, который даже не ронял рантайм с ошибкой, а просто вешал скрипт так, что приходилось CTRL+C-шить. Дебаггер же в VS просто крашился так, что я не успевал толком прочесть, что именно сломалось. Эпицентр проблемы: попытка выполнить JLD2.jldopen, а конкретнее, внутри do-блока обратиться к существующему полю файла: JLD2.jldopen("filename.jld2", "r+") do file object = file["object_name"] # именно если имя валидно end В REPL не воспроизводилось: читаемый jld2 файл не битый, ничего такого. Дебаггер вылетал с негуглящейся "invalid struct allocation". Помогло сделать git stash и пойти по шагам, от момента, когда всё работало. Оказалось, я сделал файл исполняемым (chmod +x) и добавил наверх скрипта не разобравшись шебанг и такую вот конструкцию, взятую откуда-то из Дискорса #!/bin/bash #= exec julia -O0 --compile=min "${BASH_SOURCE[0]}" "$@" =# чтобы запускать было удобнее ./script.jl Когда убрал это, запустил обычным образом julia script.jl и вроде бы теперь не вылетает

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта