비교 식
같음 비교
같음 비교(==
) 및 같지 않음 비교(!=
)는 현재 Int
, BigInt
, Double
, String
, Bool
, Result
, Pauli
및 Qubit
데이터 형식으로 제한됩니다. 사용자 정의 형식 및 호출 가능 항목의 같음 비교는 현재 지원되지 않습니다.
Qubit
형식의 값에 대한 같음 비교는 두 식이 동일한 큐비트를 식별하는지 여부를 평가합니다.
Q#에는 양자 상태에 대한 개념이 없습니다. 특히 같음 비교는 큐비트의 양자 상태를 액세스, 측정 또는 수정하지 않습니다.
Double
값에 대한 같음 비교는 반올림 효과로 인해 오해의 소지가 있을 수 있습니다.
예를 들어, 다음 비교는 반올림 오류로 인해 false
로 평가됩니다. 49.0 * (1.0/49.0) == 1.0
.
배열과 튜플의 같음 비교는 항목 비교에서 지원되며, 모든 중첩 형식이 같음 비교를 지원하는 경우에만 지원됩니다.
종결 범위의 같음 비교가 지원되며, 동일한 정수 시퀀스를 생성하는 경우 두 범위가 같은 것으로 간주됩니다. 예를 들어 다음 두 범위
let r1 = 0..2..5; // generates the sequence 0,2,4
let r2 = 0..2..4; // generates the sequence 0,2,4
는 같음으로 간주됩니다. 개방형 범위의 같음 비교는 지원되지 않습니다.
정량적 비교
보다 작음(<
), 보다 작거나 같음(<=
), 보다 큼(>
) 및 보다 크거나 같음(>=
) 연산자는 정량적 비교를 정의합니다. 이러한 비교를 지원하는 데이터 형식, 즉 산술 식도 지원할 수 있는 동일한 데이터 형식에만 적용할 수 있습니다.