Как проверить, есть ли у stdin какие-то данные?

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

bool isOpaque = object.Alpha == 1.0f;
bool isDrawable = object.CanDraw && object.Layer == currentLayer;
bool isHidden = hideList.Find(object);

bool isVisible = isOpaque && isDrawable && ! isHidden;

if(isVisible)
{
    // ...
}

Еще лучше:

public bool IsVisible {
    get
    {
        bool isOpaque = object.Alpha == 1.0f;
        bool isDrawable = object.CanDraw && object.Layer == currentLayer;
        bool isHidden = hideList.Find(object);

        return isOpaque && isDrawable && ! isHidden;
    }
}

void Draw()
{
     if(IsVisible)
     {
         // ...
     }
}

Удостоверьтесь, что вы даете имя вашей переменной, которое фактически указывает на намерение, а не функцию. Это очень поможет разработчику поддерживать ваш код ... это может быть ВЫ!

53
задан AppleDash 27 November 2014 в 02:46
поделиться

1 ответ

Используя созданный в модулях это может быть достигнуто со следующим кодом, поскольку Greg уже дал идею:

import fileinput
isStdin = True
for line in fileinput.input:
    # check if it is not stdin
    if not fileinput.isstdin():
        isStdin = False
        break
    # continue to read stdin
    print(line)
fileinput.close()


0
ответ дан 7 November 2019 в 08:29
поделиться
Другие вопросы по тегам:

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