التعبيرات الشرطية: إذا... ثم... آخر (F#)

if...then...elseيعمل التعبير أفرع مختلفة من تعليمات برمجية و أيضا يتم تقييمها إلى القيمة مختلفة استناداً إلى تعبير القيمة منطقية معطى.

if Boolean-expression then expression1 [ else expression2 ]

ملاحظات

في السياق السابق، expression1يتم تنفيذها عند تقييم تعبير منطقي إلى true؛ وإلا، expression2يعمل.

بعكس بلغات أخرى، if...then...elseبناء هو تعبير، ليس كشف. وهذا يعني أنه ينتج عنه القيمة، حيث هو القيمة التعبير الأخير في فرع الذي يقوم بتنفيذ. يجب أن تطابق أنواع قيم المنتجة في كل فرع. إذا كان لا يوجد صريحة elseفرع، به نوع هو unit. لذلك، إذا كان النوع thenفرع هو أي كتابة بخلاف unit، يجب أن يكون هناك elseالفرع بنفس نوع الإرجاع. When chaining if...then...else expressions together, you can use the keyword elif instead of else if; they are equivalent.

مثال

يوضح المثال التالي كيفية إلى تستخدم في 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
John 9 

10 is less than 20 You are only 9 years old and already learning F#? Wow! 

راجع أيضًا:

موارد أخرى

مرجع لغة ب #