`if ... elif `ステートメントの正しい構文

`if ... elif `ステートメントの正しい構文

次のif声明を想定したクイック質問

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

elifを使って次のように変更できますか?

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

プログラミングが初めてであるにもかかわらず、if-else-fi私はこれらの説明を理解していますが、私が理解できる方法でelifを説明する答えを見つけることができませんでした。

答え1

慣用語はelif構文と構造が非常に似ていますcase

主に:一致するケースの1つだけを選択してください。

これ:

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

発生項目の1つのみが一致しますtest

Case との違いは、 Case ステートメントではいくつかのパターンがテストされるのに対し、ステートメントelifではさまざまなテストが使用できることです。

答え2

はい、elifを使用して書き換えることは、「if」がネストされた元のコードブロックを使用するのと同じです。

Elifは、「else」内に新しい「if」を入れ子にする必要がないように正確に存在します。おそらくこれが「elif」と呼ばれる理由です。これはelseとifの組み合わせです。

関連情報