条件式: if...then...else

if...then...else 式は、コードのさまざまな分岐を実行し、指定されたブール式に応じて異なる値に評価されます。

構文

if boolean-expression then expression1 [ else expression2 ]

解説

前の構文では、ブール式が true に評価されると expression1 が実行されます。それ以外の場合は、expression2 が実行されます。

他の言語と同様に、if...then...else コンストラクトは、条件付きでコードを実行するために使用できます。 F# では、if...then...else は式であり、実行する分岐ごとに値を生成します。 各分岐の式の型は一致する必要があります。

明示的な else 分岐がない場合、全体の型は unit であり、then 分岐の型も unit である必要があります。

if...then...else 式を連結する場合は、else if の代わりにキーワード elif を使用できます。それらは同等です。

次の例は、if...then...else 式を使用する方法を示しています。

let test x y =
  if x = y then "equals"
  elif x < y then "is less than"
  else "is greater than"

printfn "%d %s %d." 10 (test 10 20) 20

printfn "What is your name? "
let nameString = System.Console.ReadLine()

printfn "What is your age? "
let ageString = System.Console.ReadLine()
let age = System.Int32.Parse(ageString)

if age < 10 then
    printfn "You are only %d years old and already learning F#? Wow!" age
10 is less than 20
What is your name? John
How old are you? 9
You are only 9 years old and already learning F#? Wow!

関連項目