Описание тега spaceship-operator
Оператор сравнения <=> часто называют оператором космического корабля. Он выполняет трехстороннее сравнение (возвращает меньше, равно или больше) двух операндов.
2
ответа
Сортировка массивов в обратном порядке в Rby
Я новичок в Ruby и мне нужен кусок кода, который мне объяснят. Массив для сортировки: books = ["Charlie and the Chocolate Factory", "War and Peace", "Utopia", "A Brief History of Time", "A Wrinkle in Time"] Блок кода ниже сортирует этот массив books…
06 июл '18 в 00:08
2
ответа
Пример использования в реальном мире для оператора космического корабля
Определение оператора космического корабля должно иметь четкое определение порядка, но влияет ли это на то, как ваш клиентский код или просто как определить ваши операторы сравнения классов? Поскольку в другом посте отсутствуют примеры из реальной ж…
23 янв '19 в 11:41
1
ответ
Как оператор космического корабля PHP <=> обрабатывает несопоставимые операнды?
В PHP 7 будет добавлен оператор космического корабля. Я не уверен, как он работает в некоторых крайних случаях. $a <=> $b вернусь: 1 если $a> $ b 0 если $a == $ b -1 если $a <$ b Что произойдет, если значения не сопоставимы? Какие типы перемен…
18 июн '15 в 08:59
3
ответа
Когда оператор космического корабля используется вне сортировки?
Это вопрос лучшей практики. Я видел только оператор космического корабля Perl (<=>), используемый в процедурах числовой сортировки. Но это кажется полезным в других ситуациях. Я просто не могу думать о практическом использовании. Кто-нибудь может пр…
02 сен '09 в 22:35
0
ответов
Как сделать оператор, похожий на Ruby <=> (он же космический корабль)
У меня есть пример кода ниже, который сделан с помощью swift и с использованием <=>, я хочу преобразовать его в Android, но я понятия не имею, как это сделать. Я хочу преобразовать следующий пример в Android с Java. Некоторые советы или примеры буду…
26 сен '18 в 06:47
4
ответа
Как отсортировать многомерный массив по двум значениям с помощью оператора космического корабля?
Я пытаюсь отсортировать многомерный массив с помощью оператора космического корабля. <?php $my_array = [ ['name'=>'cool', 'volume'=> 2, 'page'=>1], ['name'=>'sonic', 'volume'=> 1, 'page'=>1], ['name'=>'tails', 'volume'=> 3…
19 дек '18 в 16:46
2
ответа
Переопределение оператора космического корабля Руби <=>
Я пытаюсь переопределить оператор Руби <=> (космический корабль), чтобы сортировать яблоки и апельсины так, чтобы яблоки сначала сортировались по весу, а апельсины - по сладости. Вот так: module Fruity attr_accessor :weight, :sweetness def <=>…
17 июн '10 в 04:10
3
ответа
Сортировка по рубинам - почему ошибка rspec, когда "ожидается: [7, 6, 5, 5, 4, 3, 3]", выглядит так же, как и "получил: [7, 6, 5, 5, 4, 3, 3]"?
Результат: Failures: 1) An usual sorter sorts downwards by default Failure/Error: [a,b,c,d,e,f,g].sort.should == [7,6,5,5,4,3,3] expected: [7, 6, 5, 5, 4, 3, 3] got: [7, 6, 5, 5, 4, 3, 3] (using ==) # ./downsort_spec.rb:13:in `block (2 levels) in &l…
07 окт '13 в 15:04
1
ответ
Трехсторонний оператор сравнения в сравнении с реализацией, не являющейся членом
Операторы двустороннего сравнения должны быть функциями, не являющимися членами, если: вы хотите, чтобы первый операнд был типа, который не является этим классом Вы хотите неявное преобразование типа любой из двух операндов Новый оператор трехсторон…
22 окт '18 в 21:30
4
ответа
Как называется оператор <=> в Ruby? Как они это называют?
В руби есть <=> оператор. В API они не называют его имя, просто: Класс должен определять оператор <=>... Comparable использует <=> для реализации обычного сравнения... ... объекты в коллекции также должны реализовывать осмысленный оператор <=>…
28 фев '13 в 14:28
6
ответов
Что значит "сравнивает меньше 0"?
Контекст Пока я читал * Согласованное сравнение, я заметил странное использование глагола для сравнения: Появился новый трехсторонний оператор сравнения, <=>;;. Выражение a <=> b возвращает объект, который сравнивает <0, если a , сравнивает >0, есл…
26 ноя '17 в 16:38
3
ответа
Оператор ruby's <=> и метод сортировки
player1 = Player.new("moe") player2 = Player.new("larry",60) player3 = Player.new("curly", 125) @players = [player1, player2, player3] Выше я создал несколько объектов игрока и добавил их в ранее пустой массив @players. Затем я переопределил <=>: de…
27 окт '14 в 05:26
10
ответов
Что это за оператор <=> в MySQL?
Я работаю над кодом, написанным предыдущим разработчиком, и в запросе говорится: WHERE p.name <=> NULL Что значит <=> значит в этом запросе? Это что-то равное =? Или это синтаксическая ошибка? Но это не показывает никаких ошибок или искл…
21 фев '14 в 06:40
1
ответ
Реализующий оператор<=> для необязательного<T>
С operator<=> Будучи добавленным в C++20, я хотел попытаться обдумать, как реализовать этот оператор для тех случаев, когда это не простое сравнение по элементам. Как бы вы реализовали оператор космического корабля для сравнения optional<T&…
15 ноя '17 в 19:15
2
ответа
Практическое значение сильного порядка и слабого порядка
Я читал немного о последовательном сравнении C++20 (т.е. operator<=>) но не мог понять, в чем практическая разница между strong_ordering а также weak_ordering (то же самое касается _equality версия для этой манеры).Кроме того, что он очень наг…
03 июл '18 в 17:55
2
ответа
Оператор космического корабля и условные высказывания
Быстрый вопрос. Есть ли более элегантный способ написать что-то подобное? result = a <=> b if result == 1 # do something elsif result == 0 # do something else else # do something else end
13 дек '14 в 13:26
3
ответа
Всегда ли эффективен трехсторонний оператор сравнения?
Херб Саттер в своем предложении об операторе "космический корабль" (раздел 2.2.2, внизу страницы 12) говорит: Основывая все на <=> и тип возвращаемого значения. Эта модель имеет основные преимущества, некоторые из которых уникальны для этого п…
02 янв '18 в 18:22
0
ответов
Оператор космического корабля
У меня есть страница PHP, которую я использую для выполнения некоторых задач. Эта страница обновляется каждую минуту. Наряду с этой страницей она работает совместно с двумя другими страницами и базой данных. На двух других страницах отображаются рез…
22 янв '18 в 21:36
1
ответ
Законные появления <=> в коде pre-C++20
Возиться в wandbox Я обнаружил, что Clang действительно выдаст предупреждение, если увидит <=> появляются в C++17 или ранее. warning: '<=>' is a single token in C++2a; add a space to avoid a change in behavior [-Wc++2a-compat] Я пытался …
14 мар '18 в 00:43
3
ответа
Что такое <=> (оператор "Космический корабль") в PHP 7?
В PHP 7, который выйдет в ноябре этого года, появится оператор Spaceship (<=>). Что это и как это работает? На этот вопрос уже есть ответ в нашем общем справочном вопросе об операторах PHP.
21 май '15 в 05:35