Size: a a a

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

2020 August 07

VG

Viktor G. in Язык программирования Julia / Julia programming language
Есть ли в Julia бинарные операторы для чтения / записи?
что-то типа
io << x << y << z
?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Насколько я помню, в Base такого нет, но есть ряд инфиксных символов, которые можно использовать под свои цели, если надо.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
function ≪(io::IO, x)
   write(io, x)
   return io
end

io = IOBuffer()

res = (io ≪ 'a') ≪ 'b'

res |> take! |> String
# "ab"
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
Все оказалось проще - можно использовать print с множеством аргументов
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Правда проблема в том, что ему надо скобки ставить, без них он ошибки кидает.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Классическая XY проблема ^_^
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
перед этим я переопределял <<, но ошибок без скобок у меня не было
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
На самом деле это грустно, но парсер джулии написан на лиспе, и я так понимаю, что есть некоторые принципиальные вещи, которые нельзя обойти.
источник

АО

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

BM

Baurzhan M in Язык программирования Julia / Julia programming language
подскажите как сконвертировать дробное число (таймдельта) во время, если известна изначальная дата?
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
таймдельта указана в днях
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
julia> Dates.Day(1.5)
ERROR: InexactError: Int64(1.5)
Stacktrace:
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
Dates.DateTime(origin) + Dates.Second(delta * 24 * 60 * 60) так сделал, дельта в днях указана
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Все правильно. Можно ещё пиратством немного позаниматься и определить Dates.Day для Float64
источник
2020 August 10

VG

Viktor G. in Язык программирования Julia / Julia programming language
Как лучше в джулии делать систему логирования, например есть отладочные логи, которые надо включать и отключать, есть логи из других процессов, которые надо куда-то записывать и не падать самому, и т.д.?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
LoggingExtras.jl + общий набор @info/@debug
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
На самом деле можно создавать много промежуточных уровней легирования.

Ну и в loggingextras можно настраивать разные виды логирования на разные модули/группы.
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
То есть, LoggingExtras - это по сути рутер логов на основе
@info, @warn, @error, @debug
?
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
И если надо не упасть, а логировать ошибку, то делаем что-то типа
try
    ...
catch m
   @error m
end

?
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Ну да, я именно так обычно и делал
источник