Использование @eval
для компиляции простого оператора печати каждый раз - действительно плохой подход. Функциональные возможности для строк формата Dynami c et c отсутствуют. потому что у Джулии есть широкий спектр других хороших инструментов для достижения тех же целей:
julia> join(stdout, (round(Int, y) for y in x[end, :]), " ")
1 0 1
И печать массива на самом деле не то, что сделано printf
для (даже не в C).
Это не означает, что функция printf
, принимающая строку формата времени выполнения, не будет хорошей вещью, но см. здесь для объяснения причин создания макроса. Я никогда не пропускал printf
, но если вы действительно пропустите, есть Formatting.jl , который обеспечивает всю функциональность, которую вы можете себе представить.