OCaml的意外结果=
据我所知,=和!=应该在OCaml中处理字符串。我看到了奇怪的结果,但我想更好地理解 当我用=比较两个字符串时,我得到了预期的结果:OCaml的意外结果=,ocaml,equality,Ocaml,Equality,据我所知,=和!=应该在OCaml中处理字符串。我看到了奇怪的结果,但我想更好地理解 当我用=比较两个字符串时,我得到了预期的结果: # "steve" = "steve";; - : bool = true # "steve" = "rowe";; - : bool = false 但当我尝试时!=我没有: # "steve" != "rowe";; - : bool = true # "steve" != "steve";; (* unexpected - shouldn't this b
# "steve" = "steve";;
- : bool = true
# "steve" = "rowe";;
- : bool = false
但当我尝试时!=我没有:
# "steve" != "rowe";;
- : bool = true
# "steve" != "steve";; (* unexpected - shouldn't this be false? *)
- : bool = true
有人能解释一下吗?有更好的方法吗?
=
不是=
的否定
是您应该使用的对=
的否定:
# "steve" <> "rowe" ;;
- : bool = true
# "steve" <> "steve" ;;
- : bool = false
#
史蒂夫·罗;;
-:bool=true
#“史蒂夫”、“史蒂夫”;;
-:bool=false
#
=
是对==
的否定,如果您是OCaml初学者,您不应该使用这两种语言中的任何一种。它们可能有点棘手,而且官方没有对它们进行详细说明(唯一的保证是,如果两个值是=
,那么它们就是=
)。不久前的一个问题涉及到一些微妙之处。