Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Comparações em matéria de igualdade
As comparações de igualdade (==) e comparações de desigualdade (!=) estão atualmente limitadas aos seguintes tipos de dados: Int, BigInt, Double, String, Bool, Result, Paulie Qubit. Atualmente, não há suporte para comparações de igualdade de tipos de struct e chamáveis.
A comparação de igualdade para valores do tipo Qubit avalia se as duas expressões identificam o mesmo qubit. Não há noção de um estado quântico em Q#; A comparação de igualdade, em particular, não acessa, mede ou modifica o estado quântico dos qubits.
As comparações de igualdade para valores de Double podem induzir em erro devido a efeitos de arredondamento.
Por exemplo, a seguinte comparação avalia a false devido a erros de arredondamento: 49.0 * (1.0/49.0) == 1.0.
A comparação de igualdade de matrizes e tuplas é suportada por comparações de seus itens e só é suportada se todos os seus tipos aninhados suportarem a comparação de igualdade.
A comparação de igualdade de intervalos fechados é suportada, e dois intervalos são considerados iguais se produzirem a mesma sequência de inteiros. Por exemplo, os dois intervalos a seguir
let r1 = 0..2..5; // generates the sequence 0,2,4
let r2 = 0..2..4; // generates the sequence 0,2,4
são considerados iguais. A comparação de igualdade de intervalos abertos não é suportada.
Comparação quantitativa
Os operadores inferior (<), inferior ou igual (<=), maior que (>) e maior que ou igual (>=) definem comparações quantitativas. Eles só podem ser aplicados a tipos de dados que suportam tais comparações, ou seja, os mesmos tipos de dados que também podem suportar expressões aritméticas .