Вопросы с тегом «operators»

111
Что делает «: =»?

Я видел :=использование в нескольких примерах кода, но ни разу с сопровождающим объяснением. Невозможно использовать его в Google, не зная его имени. Что оно

110
Понимание оператора «is» в Python

isОператор не совпадают со значениями переменных, но сами экземпляры. Что это на самом деле значит? Я объявил две переменные с именами xи yприсвоил одинаковые значения обеим переменным, но он возвращает false, когда я использую isоператор. Мне нужно разъяснение. Вот мой код. x = [1, 2, 3] y = [1,...

109
Haskell: как произносится <*>? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Как произносятся эти функции в классе...

107
Почему эти фрагменты JavaScript ведут себя по-разному, даже если оба обнаруживают ошибку?

var a = {} var b = {} try{ a.x.y = b.e = 1 // Uncaught TypeError: Cannot set property 'y' of undefined } catch(err) { console.error(err); } console.log(b.e) // 1 Запустить фрагмент кодаHide resultsРазвернуть фрагмент var a = {} var b = {} try { a.x.y.z = b.e = 1 // Uncaught TypeError: Cannot read...

105
Логические операторы, || или или?

Я помню, как некоторое время назад читал о логических операторах, которые в случае ORиспользования ||были лучше or(или наоборот). Мне просто пришлось использовать это в своем проекте, когда он вернулся ко мне, но я не могу вспомнить, какой оператор был рекомендован или было ли это правда. Что...

103
Побитовая операция и использование

Рассмотрим этот код: x = 1 # 0001 x << 2 # Shift left 2 bits: 0100 # Result: 4 x | 2 # Bitwise OR: 0011 # Result: 3 x & 1 # Bitwise AND: 0001 # Result: 1 Я могу понимать арифметические операторы в Python (и других языках), но я никогда не понимал достаточно хорошо «побитовые» операторы....

102
Что означает && в void * p = && abc;

Я наткнулся на кусок кода void *p = &&abc;. Какое &&здесь значение? Я знаю о ссылках на rvalue, но думаю, что &&в этом контексте они используются по-другому. Что &&указывает в void *p = &&abc;?...

101
Должен ли я реализовать __ne__ в терминах __eq__ в Python?

У меня есть класс, в котором я хочу переопределить __eq__метод. Кажется, имеет смысл переопределить и __ne__метод, но имеет ли смысл реализовать __ne__его __eq__как таковой? class A: def __init__(self, attr): self.attr = attr def __eq__(self, other): return self.attr == other.attr def __ne__(self,...

101
Как «и» и «или» действуют с небулевыми значениями?

Я пытаюсь изучить python и наткнулся на какой-то красивый и короткий код, но не совсем понятный контекст был: def fn(*args): return len(args) and max(args)-min(args) Я понимаю, что он делает, но почему Python это делает - т.е. возвращает значение, а не True / False? 10 and 7-2 возвращает 5....

98
Реализация операторов сравнения через «кортеж» и «галстук» - хорошая идея?

(Примечание: tupleи tieможет быть взято из Boost или C ++ 11.) При написании небольших структур только с двумя элементами я иногда склоняюсь к выбору a std::pair, поскольку все важные вещи уже сделаны для этого типа данных, например, operator<для строгого-слабого упорядочения . Минусами...

97
«Х не в у» или «не х в у»

При тестировании на членство мы можем использовать: x not in y Или альтернативно: not x in y Для этого выражения может быть много возможных контекстов в зависимости от xи y. Это может быть, например, проверка подстроки, членство в списке, наличие ключа dict. Всегда ли две формы эквивалентны? Есть...

96
Оператор == не обнаружен при сравнении структур в C ++

Сравнивая два экземпляра следующей структуры, я получаю сообщение об ошибке: struct MyStruct1 { MyStruct1(const MyStruct2 &_my_struct_2, const int _an_int = -1) : my_struct_2(_my_struct_2), an_int(_an_int) {} std::string toString() const; MyStruct2 my_struct_2; int an_int; }; Ошибка: ошибка...

96
Оператор тильды в C

Я видел оператор тильды, используемый в алгоритме хеширования ELF, и мне любопытно, что он делает. (Код взят из Eternal Confused .) unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; i++ ) { h = ( h << 4 ) + p[i]; g = h &...

95
Как !! ~ (не тильда / взрыва тильда) изменяет результат вызова метода массива "содержит / включен"?

Если вы читаете комментарии на inArrayстранице jQuery здесь , есть интересное объявление: !!~jQuery.inArray(elm, arr) Теперь я считаю, что двойной восклицательный знак преобразует результат в тип booleanсо значением true. Чего я не понимаю, так это то, что во всем этом используется ~оператор...