LINUX.ORG.RU

tcl

 


0

2

Коллеги здравствуйте. Покажите мне ошибку:

configure $f1 -encoding koi8-r
puts $lenta [encoding convertto utf-8 [read $f1]]
Пишет кракозябры. Однако exec в этот же скрипт выдает нормально:
exec -- iconv -t UTF8 -f KOI8R $i -o $i
На названия переменных не обращайте внимания (выдернуто из контекста)

★★☆

read после второй команды даёт тебе внутренний юникод. Чтобы это работало тебе нужно ещё и написать fconfigure stdout -translation binary или просто убрать enconding convertto. Первое переключить в вывод UTF-8 независимо от системной локали, что может быть полезно, а если убрать лишнюю конверсию то вывод будет в правильной кодировке (которая в гну/линуксе будет UTF-8 скорее всего, а в других ОС как получится).

Xenius ★★★★★ ()
Последнее исправление: Xenius (всего исправлений: 1)
Ответ на: комментарий от anonymous

В чём прикол с tcl? Почему на Rust все гонят, что он непопулярен, но когда речь заходит о ещё большей маргинальщине tcl, все его превозносят?

Большинству на TCL наплевать, а превозносят ностальгирующие. TCL — костыльный динамический язык, этакий лисп для бедных, который возник (как джаваскрипт) на коленке для удовлетворения какой-то сиюминутной надобности и внезапно оказался довольно удобен для скриптования (благодаря излишней замороченности альтернатив вроде того же лиспа). Живёт только благодаря легаси; например, почти все CAD-системы для разработки чипов до сих про скриптуются на TCL. По той же причине ещё довольно популярен в научной среде.

hbee ★★★ ()
Ответ на: комментарий от Xenius

Чтобы это работало тебе нужно ещё и написать fconfigure stdout -translation binary или просто убрать enconding convertto

Большое спасибо за понятное разьяснение! А то у меня много баша в тиклевском скрипте. :)

Bootmen ★★☆ ()
Ответ на: комментарий от anonymous

В чём прикол с tcl? Почему на Rust все гонят, что он непопулярен, но когда речь заходит о ещё большей маргинальщине tcl, все его превозносят?

С чего ты взял, что его все превозносят? Превозношение и «гонево» - это атрибуты языков с большим пиаром и амбициями людей, стоящих за этими языками. Ну и конечно для превозношения/поругания нужны ЛОР'oвские аналитики. TCL , на сколько я понимаю не позиционировался как убийца чего-либо. Напротив, он применим для довольно ограниченного круга вполне практических задач. Например, я использую его в виде скриптов expect для авоматизации тестирования. Работает и не жужжит, пресс-релизов не требует.

seiken ★★★★★ ()