Как создать приложение командной строки на Ruby с помощью пейджера?

Я создаю инструмент командной строки на Ruby. На экране будет напечатано много текста. В настоящее время я использую для этого конвейер оболочки ( may_app | more ). Но я думаю, что лучше иметь пейджер по умолчанию.

Это похоже на то, что вы видите при выполнении git log . Пейджер можно отключить, используя git --nopager log .

Я проделал довольно много работы в Google и нашел одну жемчужину: hirb , но это кажется немного излишним.

После многих попыток я использую для этого оболочку оболочки:

#!/bin/bash

# xray.rb is the core script
# doing the main logic and will
# output many rows of text on 
# screen
XRAY=$HOME/fdev-xray/xray.rb

if [ "--nopager" == "$1" ]; then
    shift
    $XRAY $*
else
    $XRAY $* | more
fi

Это работает. Но есть ли способ лучше?

6
задан qhwa 15 December 2011 в 03:22
поделиться