7

SML初心者です。IF ステートメント内で AND 演算子を使用するにはどうすればよいですか? これが私のコードです:

val y = 1;
val x = 2;
if (x = 1 AND y = 2) then print ("YES ") else print("NO ");

私のエラーは次のとおりです: stdIn:66.9-67.3 エラー: unbound variable or constructor: AND stdIn:66.3-67.9 Error: operator is not a function [literal] operator: int in expression: 1 stdIn:66.3-67.9 Error: operator and operand don '同意しない [リテラル] 演算子 ドメイン: bool * bool オペランド: bool * int in expression: x = (1 ) y = 2

ありがとうございました

4

4 に答える 4

12

SML には演算子はありませんAND(自分で定義しない限り)。andキーワードはありますがif、演算子ではないため、ステートメント内で (または通常は式の一部として) 使用することはできません。fun相互に再帰的な関数を定義するために と組み合わせて使用​​されます。

andalsoおそらく、2 つのブール値オペランドを取り、両方のオペランドが true である場合にのみ true を返す演算子を探しているでしょう。

于 2012-11-17T12:15:37.740 に答える
-1

one とデジタル ゲートの one は常に 1 です。したがって、上記の場合、 true および true "は、必ず false ではなく true に評価される必要があります。正しいですか? また、1 および 0 は決して 1 になることはできません。

1 または 0 は 1 にすることができます。

于 2018-05-10T23:04:13.560 に答える