Share via


비교 식

같음 비교

같음 비교(==) 및 같지 않음 비교(!=)는 현재 Int, BigInt, Double, String, Bool, Result, PauliQubit 데이터 형식으로 제한됩니다. 사용자 정의 형식 및 호출 가능 항목의 같음 비교는 현재 지원되지 않습니다.

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

는 같음으로 간주됩니다. 개방형 범위의 같음 비교는 지원되지 않습니다.

정량적 비교

보다 작음(<), 보다 작거나 같음(<=), 보다 큼(>) 및 보다 크거나 같음(>=) 연산자는 정량적 비교를 정의합니다. 이러한 비교를 지원하는 데이터 형식, 즉 산술 식도 지원할 수 있는 동일한 데이터 형식에만 적용할 수 있습니다.