Megosztás a következőn keresztül:


Feltételes kifejezések: if...then...else

A if...then...else kifejezés különböző kódágakat futtat, és a megadott logikai kifejezéstől függően más értéket is kiértékel.

Syntax

if boolean-expression then expression1 [ else expression2 ]

Megjegyzések

Az előző szintaxisban a kifejezés1 akkor fut, amikor a logikai kifejezés kiértékeli azttrue; ellenkező esetben a kifejezés2 fut.

Más nyelvekhez hasonlóan a if...then...else szerkezet is használható a kód feltételes végrehajtására. Az F#-ban egy kifejezés, if...then...else amely a végrehajtott ág alapján állít elő értéket. Az egyes ágak kifejezéstípusainak egyeznie kell.

Ha nincs explicit else ág, a teljes típus az unit, és az then ág típusának is meg kell lennie unit.

A kifejezések összeláncolása if...then...else esetén a kulcsszót elif használhatja else ifahelyett, hogy azok egyenértékűek lennének.

Példa

Az alábbi példa a kifejezés használatát if...then...else mutatja be.

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!

Lásd még