Sintaxe correta para instruções 'if… elif'

0

Pergunta rápida, assuma o seguinte if -statement

if dis'n'dat ; then
    some command here
else
    if dat'n'dis
        some other command
    fi
fi

eu poderia mudar isso usando elif para seguir?

if dis'n'dat ; then
    some command
elif dat'n'dis ; then
    some other command
fi

apesar de ser novo na programação, o if-else-fi -statements eu entendo, mas eu nunca encontrei uma resposta que explicou elif de uma forma que eu iria entender.

    
por chris 28.02.2016 / 20:29

2 respostas

1

Sim, sua reescrita usando o elif é igual ao bloco de código original usando um 'if' aninhado.

Elif existe exatamente para que você não precise aninhar um novo 'if' dentro de 'else'. Eu acho que é provavelmente por isso que eles chamam de 'elif'; é um conglomerado de else e if.

    
por 28.02.2016 / 20:38
1

Um elif idiom é muito semelhante à estrutura de uma declaração case .

Principalmente: apenas um dos casos correspondentes é selecionado.

Isto:

if   test1; then
     code for test1 being true.
elif test2; then
     code for test2 being true.
elif test3; then
     code for test3 being true.
else
     code for all tests above being false.
fi

Corresponderá apenas um dos test correspondentes.

A diferença com o caso é que em uma declaração de caso o que está sendo testado são alguns padrões, enquanto que em uma instrução elif vários testes diferentes podem ser usados.

    
por 28.02.2016 / 20:55

Tags