Экран перерисовки в терминале

Я думаю, что это может сработать

@Query("{'$or':[ {'A':10}, {'B':20} ] }")
8
задан mindless.panda 15 June 2011 в 22:54
поделиться

9 ответов

Много приложений используют библиотеку проклятий или некоторую привязку к языку к ней.

Для перезаписи на одной строке, такой как обновление информации о прогрессе, специальный символ "возврат каретки", часто указываемый escape-последовательностью "\r", может возвратить курсор запуску текущей строки, позволяющей последующий вывод перезаписывать то, что было ранее записано там.

4
ответ дан 5 December 2019 в 07:14
поделиться

попробуйте этот сценарий оболочки

#!/bin/bash
i=1
while [ true ]
    do
            echo -e -n "\r $i"
            i=$((i+1))
    done

-n опции предотвращают новую строку..., и \r делает возврат каретки... Вы пишете снова и снова в ту же строку - никакая прокрутка или что так когда-либо

5
ответ дан 5 December 2019 в 07:14
поделиться

Существуют символы, которые могут быть отправлены на терминал, которые кладут обратно курсор. Затем текст может быть перезаписан.

Здесь существует список. Отметьте "курсор перемещения что-то" строки.

2
ответ дан 5 December 2019 в 07:14
поделиться

NCurses является межплатформенной библиотекой, которая позволяет Вам потянуть пользовательские интерфейсы на умных терминалах.

1
ответ дан 5 December 2019 в 07:14
поделиться

При завершении строки, отправленной на терминал с возвратом каретки ('\r') вместо перевода строки ('\n'), он переместит курсор в начало текущей строки, позволяя программе распечатать больше текста по вершине того, что он распечатал прежде. Я иногда использую это для сообщений о ходе выполнения для долгих задач.

Если когда-нибудь необходимо делать больше терминального редактирования, чем это, используйте ncurses или вариант этого.

4
ответ дан 5 December 2019 в 07:14
поделиться

Раздражительный капрал ответил, как это сделано на самом низком уровне. Для более легкой разработки библиотека проклятий дает более высокий уровень управления, чем просто передающие символы к терминалу.

1
ответ дан 5 December 2019 в 07:14
поделиться

Для построения на ответе @Corporal Touchy существуют библиотеки, доступные, который обработает часть этой функциональности для Вас, такой как curses/ncurses

0
ответ дан 5 December 2019 в 07:14
поделиться

Я соглашаюсь с danio, ncurses является способом пойти. Вот хорошее учебное руководство:

http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/

0
ответ дан 5 December 2019 в 07:14
поделиться

В том, что вы показываете, происходит двойное кодирование. Достаточно двух шагов:

andy _ test - это как последовательность в программном обеспечении, так и фактическое имя каталога или сценария в файловой системе (ресурс, к которому обращается веб-сервер)

andy% 5Ftest - это andy _ test в кодировке URL. Эта последовательность должна использоваться браузером (она не нужна в случае подчеркивания, но может быть и в других случаях).

andy% 255 fest - это только andy _ test URL-адрес, закодированный дважды, что не имеет смысла, нет необходимости. Просто решите, ГДЕ вы будете делать кодировку. Если вы делаете это как на уровне кода, так и на уровне веб-сервера, это то, что может произойти, и в результате нарушаются ссылки, если вы не декодируете два раза снова, что на самом деле не нужно и не разумно.

-121--3894426-

Не следует кодировать имена каталогов при их создании (как предлагалось). Кодирование должно происходить только на последнем этапе, когда оно передается браузеру. Вот почему вы заканчиваете с двойной кодировкой:% 25 - это%, а 5F - это остаток от первой кодировки подчеркивания.

Также обратите внимание, что кодирование подчеркиваний в соответствии с rfc1738 не требуется.

2.2. Проблемы кодирования символов URL

...

Таким образом, только буквенно-цифровые символы, специальные символы «$ - _. +! * '(),» и зарезервированные символы, используемые в зарезервированных целях, могут использоваться не закодирован в URL-адресе.

-121--3894424-

В зависимости от терминала вы отправляете управляющие последовательности. Общими последовательностями являются, например, esc [; H для отправки курсора в определенную позицию (например, на Ansi, Xterm, Linux, VT100). Однако это зависит от типа или терминала пользователя... проклятия (в сочетании с файлами terminfo) переносят эту информацию для вас.

6
ответ дан 5 December 2019 в 07:14
поделиться
Другие вопросы по тегам:

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