1

たとえば、a=bとb=cの場合にtrueを返し、Poly MLでこれらの等式のいずれも真でない場合にfalseを返す関数を定義したい場合、どのように記述しますか?複数の条件を同時に実行する方法がわかりません。

4

2 に答える 2

1

そうじゃない

a = b andalso b = c

あなたが欲しいもの?

于 2012-10-26T11:18:06.913 に答える
1

私はこれがあなたが必要とすることをすると信じています:

fun f (a, b, c) = 
  if a = b andalso b = c
  then true
  else
    if a <> b andalso b <> c
    then false
    else ... (* you haven't specified this case *)

ここでの主なポイントは次のとおりです。

  • 条件文を入れ子にすることができます。つまり、あるif式を別の式thenまたはelseケース内に入れることができます。
  • 演算子andalsoは論理積です。意味x andalso yは、 が に評価され、 に評価されるtrue場合のみです。xtrueytrue

式を使用して、これをより簡潔にcase表すことができます。

fun f (a, b, c) =
  case (a = b, b = c) of
    (true, true) => true
  | (false, false) => false
  | _ => (* you haven't specified this case *)
于 2012-10-26T07:34:23.653 に答える