В следующей таблице показан список операторов сравнения и их назначение.
Имя функции | Оператор | Назначение |
---|---|---|
opCmp | < | меньше |
opCmp | <= | не больше |
opCmp | > | больше |
opCmp | >= | не меньше |
Операторы сравнения используются при сортировке массивов. В следующем примере показано, как использовать операторы сравнения.
import std.random; import std.stdio; import std.string; struct Box { int volume; int opCmp(const ref Box box) const { return (volume == box.volume ? box.volume - volume: volume - box.volume); } string toString() const { return format(" Объём:%s", volume); } } void main() { Box[] boxes; int j = 10; foreach (i; 0 .. 10) { boxes ~= Box(j*j*j); j = j-1; } writeln("Несортированный массив"); writeln(boxes); boxes.sort; writeln("Сортированный массив"); writeln(boxes); writeln(boxes[0]<boxes[1]); writeln(boxes[0]>boxes[1]); writeln(boxes[0]<=boxes[1]); writeln(boxes[0]>=boxes[1]); }
Когда вы скомпилируете и выполните эту программу, она возвратит следующий результат:
Несортированный массив [ Объём:1000, Объём:729, Объём:512, Объём:343, Объём:216, Объём:125, Объём:64, Объём:27, Объём:8, Объём:1] Сортированный массив [ Объём:1, Объём:8, Объём:27, Объём:64, Объём:125, Объём:216, Объём:343, Объём:512, Объём:729, Объём:1000] true false true false