Почему Debian установил этот Python3.9?

Вы можете указать параметр командной строки для своей функции. Использование параметров командной строки, не принимающих аргументов, является распространенным способом предоставления двоичных/логических значений («вкл/выкл», «истина/ложь», «включение/отключение» )для сценариев оболочки, функций оболочки и утилит в Общая.

foo () {
    local flag=false
    OPTIND=1

    while getopts 't' opt; do
        case $opt in
            t) flag=true ;;
            *) echo 'Error in command line parsing' >&2
               exit 1
        esac
    done
    shift "$(( OPTIND - 1 ))"

    local param1="$1"
    local param2="$2"

    if "$flag"; then
        # do things for "foo -t blah blah"
    else
        # do things for "foo blah blah"
    fi
}

Опция -tдействует как логический флаг для пользователя. Его использование установит flagвнутри функции на true(, изменив его значение по умолчаниюfalse). Опция -tбудет использоваться в качестве первого аргумента функции.

Вызов функции будет осуществляться с помощью

foo "some value" "some other value"

или

foo -t "some value" "some other value"

, где последний вызов установит для переменной flagв функции значение true.

0
03.08.2020, 16:57
1 ответ

Все эти пакеты взяты из python3-stdlib-extensions, который добавил версии 3.9 несколько недель назад .

Это ранний этап перехода на Python 3.9.и не влияет на программы, использующие Python 3.8 (текущую версию по умолчанию в нестабильной версии ).

5
18.03.2021, 23:15

Теги

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