【发布时间】:2023-03-06 05:30:02
【问题描述】:
如何将Integer的最大值放入SML中的val中?
我看到你可以使用intMax:
> Int.maxInt;
val it = SOME 1073741823 : int option
但如果我尝试将其作为值放入val,它将打印错误:
> val max:int = Int.maxInt;
Error: pattern and expression in val dec don't agree [tycon mismatch]
pattern: int
expression: int option
in declaration:
max : int = Int.maxInt
虽然val max = Int.maxInt 有效,但它使:val max = SOME 1073741823 : int option。
我希望变量是 int 类型而不是 int option。
换句话说,输出应该是:
> val max = 1073741823 : int
编辑:
感谢您的回答。是否可以设置大于 maxInt 的值? 我要计算:
fun someCalculation num = ceil((Math.sqrt(1.0+8.0*real(num))-1.0)/2.0);
val max_int = Option.valOf Int.maxInt;
val current = someCalculation max_value;
因为8.0*real(maxInt) 它不起作用。是否可以计算?请注意,最终答案不大于 maxInt。
【问题讨论】:
-
如果您的问题是关于其他问题,请提出一个新问题并考虑您想问什么,这样您就不必一直更改它。 :-)