Udostępnij za pośrednictwem


Wyrażenie warunkowe: if... then...else (F#)

if...then...else Wyrażenie uruchamia kod różnych oddziałów i także wynikiem różne wartości w zależności od wyrażenia logicznego, biorąc pod uwagę.

if Boolean-expression then expression1 [ else expression2 ]

Uwagi

W poprzednich składni expression1 jest uruchamiany, gdy wynikiem wyrażenia logicznego true; w przeciwnym razie expression2 jest uruchamiany.

W przeciwieństwie do innych języków, if...then...else konstrukcji jest wyrażenie, nie w instrukcji.Oznacza to, że produkuje wartość, która jest wartością ostatniego wyrażenia w gałęzi, do której jest wykonywany.Typy wartości, wyprodukowanych w każdym oddziale firmy musi być zgodny.Jeśli nie jawne else oddział, jego typ jest unit.W związku z tym jeśli typ then oddział jest dowolnego typu innego niż unit, musi być else oddział z tego samego typu powrotu.Gdy wnioskowanie if...then...else razem, można użyć słowa kluczowego wyrażeń elif zamiast elseif; są one równoważne.

Przykład

Poniższy przykład ilustruje sposób użycia if...then...else wyrażenie.

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
     

Zobacz też

Inne zasoby

Materiały referencyjne dotyczące języka F#