2010-06-16 11 views
16

내가 알 수있는 것부터 =와! =는 OCaml에서 문자열로 작업해야합니다. 나는 이상한 결과를보고 있지만 나는 더 잘 이해하고 싶다.OCaml에서 예기치 않은 결과가 나타납니다! =

내가 = 두 개의 문자열을 비교 나는 결과가 내가 기대 얻을 :

# "steve" = "steve";; 
- : bool = true 
# "steve" = "rowe";; 
- : bool = false 

하지만 난 때 = 내가하지!

# "steve" != "rowe";; 
- : bool = true 
# "steve" != "steve";; (* unexpected - shouldn't this be false? *) 
- : bool = true 

사람이 설명 할 수 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

19

!==의 부정이 아닙니다.

# "steve" <> "rowe" ;; 
- : bool = true 
# "steve" <> "steve" ;; 
- : bool = false 
# 

!===의 부정이며, 당신은 OCaml의 초보자 경우, 아직이 두 가지 중 하나를 사용해서는 안됩니다 : <>는 사용한다 =의 부정이다. 그들은 약간 까다로울 수 있으며, 공식적으로 불명확합니다 (두 값이 == 인 경우에만 =입니다).

+2

잠시 후 질문에 약간의 미묘함이 있습니다. http://stackoverflow.com/questions/1412668/does-have-meaning-in-ocaml – nlucaroni

관련 문제