#terminal #colors #julia #xfce
Вопрос:
Я начинаю работать с Джулией и смотрю это видео, и в то время, когда я подключился, ведущий запускает команду
palette = distinguishable_colors(100)
Теперь, если я запущу это в своем терминале (xfce4-терминал), я просто получу вывод, который выглядит
RGB{N0f8}(0.471,0.482,0.231)
RGB{N0f8}(0.714,0.976,0.851)
RGB{N0f8}(0.855,0.0,0.247)
RGB{N0f8}(0.18,0.129,0.141)
RGB{N0f8}(0.0,0.345,0.082)
RGB{N0f8}(1.0,0.557,0.114)
RGB{N0f8}(0.4,0.455,0.694)
RGB{N0f8}(0.0,0.804,0.678)
RGB{N0f8}(0.0,0.498,0.388)
RGB{N0f8}(0.6,0.435,0.239)
Есть ли способ заставить его выводить фактические цвета на терминале (как в видео)? Это что-то, что должно быть обновлено в отдельной конфигурации (и что именно?), или что-то, что нужно настроить в Julia?
Ответ №1:
Конечно, вы можете просто использовать упаковку цветных карандашей. Этот пакет использует Int
s для представления цветов, и API Colors.jl
здесь довольно подробен (если только вы не хотите напрямую обращаться pallette
к полям объектов, которые не были бы элегантными).
using Color, Crayons
palette = distinguishable_colors(8);
crs = [Crayon(foreground = reinterpret.((red(palette[i]), green(palette[i]),blue(palette[i]))) ) for i in 1:8];
println.(crs, string.("This is line ",1:8));
Обратите внимание, что первая строка имеет черный цвет, поэтому ее не видно, однако вы всегда можете добавить что-то подобное background=:white
в Crayon
конструктор.