条件が終了して分岐が開始される場所を特定する方法が必要です。それにはさまざまな方法があります。
一部の言語では、何の条件文がない全くのSmalltalk、自己、ニュースピーク、イオ、Ioke、SEPH、そしてファンシーで、例えば。条件分岐は、他の方法と同様に、通常の方法として単純に実装されます。このメソッドはブール値オブジェクトに実装され、ブール値で呼び出されます。このように、条件は単にメソッドのレシーバーであり、2つのブランチは2つの引数です(Smalltalkなど)。
aBooleanExpression ifTrue: [23] ifFalse: [42].
Javaに精通している場合、これは次と同等です。
aBooleanExpression.ifThenElse(() -> 23, () -> 42);
Lispファミリーの言語では、状況は似ています:条件は単なる通常の関数(実際にはマクロ)であり、最初の引数は条件であり、2番目と3番目の引数は分岐なので、それらは通常の関数引数であり、それらを区切るために特別な必要はありません:
(if aBooleanExpression 23 42)
一部の言語では、キーワードを区切り文字として使用しています。たとえば、アルゴル、エイダ、ベーシック、パスカル、モジューラ-2、オベロン、オベロン-2、アクティブオベロン、コンポーネントパスカル、ゾノン、モジュラ-3:
IF aBooleanExpression THEN RETURN 23 ELSE RETURN 42;
Rubyでは、キーワードまたは式区切り文字(セミコロンまたは改行)を使用できます。
if a_boolean_expression then 23 else 42 end
if a_boolean_expression; 23 else 42 end
# non-idiomatic, the minimum amount of whitespace required syntactically
if a_boolean_expression
23 else 42 end
# idiomatic, although only the first newline is required syntactically
if a_boolean_expression
23
else
42
end
Goでは、ブランチをブロックにする必要があり、式やステートメントを許可しないため、中括弧が必須になります。したがって、括弧は必要ありませんが、必要に応じて追加できます。この点で、Perl6とRustは似ています。
if aBooleanExpression { return 23 } else { return 42 }
一部の言語では、他の非英数字を使用して条件を区切ります。たとえば、Python:
if aBooleanExpression: return 23
else: return 42
一番下の行は、条件が終了して分岐が開始される場所を伝える何らかの方法が必要です。これを行うには多くの方法がありますが、括弧はそれらの1つにすぎません。
THEN
)。