我正在编写程序,其中存在添加变量,这可能是无限的。在某些地方neg_infinity + infinity
应为neg_infinity
或infinity
,因此我正在努力制作'if'以确保正确的结果。但我不知道如何检查,如果变量是无穷大。
简单的if variable = infinity
错误,导致infinity = infinity
和infinity != infinity
。 Example。片段:
let p = 42. /. 0.;;
if p = infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
if p != infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
打印双“是”。即使是p <= infinity
和p >= infinity
我的想法是检查,如果p >= infinity
(我相信,只有无限可以满足这种不平等。),但我不知道它是否总是正确的。
同时选中==
,但无法正常工作。
我不知道,如何在OCaml中正确解决它,那么应该如何实现呢?
答案 0 :(得分:5)
请勿使用!=
表示不平等,请使用<>
。
# let p = 42. /. 0.;;
val p : float = infinity
# p = infinity;;
- : bool = true
# p <> infinity;;
- : bool = false
#
通用平等是=
。
通用不平等是<>
。
特殊目的(奇怪和不愉快)的平等是==
。
特殊目的(奇怪和不愉快)的不平等是!=
。
(我开玩笑,但不是那么多。)