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

Изменяемый объект можно изменить после его создания.

647
Изменения в списках, отраженные по всем спискам неожиданно

Мне нужно было создать список списков в Python, поэтому я набрал следующее: myList = [[1] * 4] * 3 Список выглядел так: [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] Затем я изменил одно из самых внутренних значений: myList[0][0] = 5 Теперь мой список выглядит так: [[5, 1, 1, 1], [5, 1, 1, 1], [5, 1,...

527
Имеет ли ключевое слово mutable какую-либо цель, кроме возможности изменения переменной с помощью функции const?

Некоторое время назад я наткнулся на некоторый код, который помечал переменную-член класса mutableключевым словом. Насколько я вижу, это просто позволяет вам изменить переменную в constметоде: class Foo { private: mutable bool done_; public: void doSomething() const { ...; done_ = true; } }; Это...

485
Почему изменчивые структуры «злые»?

После обсуждений здесь, посвященных SO, я уже несколько раз читал замечание о том, что изменяемые структуры являются «злыми» (как в ответе на этот вопрос ). Какова реальная проблема с изменчивостью и структурами в C #?...

186
Неизменяемые и изменчивые типы

Я запутался в том, что такое неизменный тип. Я знаю, что floatобъект считается неизменным, на примере такого типа из моей книги: class RoundFloat(float): def __new__(cls, val): return float.__new__(cls, round(val, 2)) Считается ли это неизменным из-за структуры / иерархии классов? Значение...

173
Изменчивые против неизменных объектов

Я пытаюсь разобраться с изменчивыми и неизменными объектами. Использование изменяемых объектов вызывает много проблем (например, возвращает массив строк из метода), но у меня возникают проблемы с пониманием того, как это негативно влияет. Каковы лучшие практики использования изменяемых объектов? Вы...

121
Существование изменяемого именованного кортежа в Python?

Кто-нибудь может изменить namedtuple или предоставить альтернативный класс, чтобы он работал с изменяемыми объектами? В первую очередь для удобства чтения я хотел бы что-то похожее на namedtuple, которое делает это: from Camelot import namedgroup Point = namedgroup('Point', ['x', 'y']) p = Point(0,...

102
Неизменяемое целое число

Я знаю, что это, вероятно, очень глупо, но во многих местах утверждается, что класс Integer в Java неизменен, но следующий код: Integer a=3; Integer b=3; a+=b; System.out.println(a); Выполняется без каких-либо проблем, давая (ожидаемый) результат 6. Таким образом, фактически изменилось значение a....

88
Неизменяемые / изменяемые коллекции в Swift

Я имел в виду руководство Apple по программированию Swift для понимания создания изменяемых / неизменяемых объектов (массив, словарь, наборы, данные) на языке Swift. Но я не мог понять, как создавать неизменяемые коллекции в Swift. Я хотел бы увидеть в Swift эквиваленты для следующего в...

85
изменчивый и изменчивый в C ++

У меня вопрос о разнице между изменчивым и изменчивым. Я заметил, что оба значения означают, что это можно изменить. Что еще? Это одно и то же? Какая разница? Где они применимы? Почему предлагаются две идеи? Как их использовать по-другому? Большое спасибо....

85
Создать изменяемый список из массива?

У меня есть массив, который я хотел бы превратить в List, чтобы изменить содержимое массива. В Stack Overflow есть множество вопросов / ответов, которые касаются Arrays.asList()и того, как он предоставляет только представление списка базового массива, и то, как попытка манипулировать полученным...

84
Хорошее применение для значений по умолчанию изменяемых аргументов функции?

В Python распространенной ошибкой является установка изменяемого объекта в качестве значения аргумента функции по умолчанию. Вот пример из прекрасной статьи Дэвида Гуджера : >>> def bad_append(new_item, a_list=[]): a_list.append(new_item) return a_list >>> print bad_append('one')...

83
F #: let mutable vs. ref

Во-первых, я признаю возможность того, что этот вопрос может быть дубликатом; просто дай мне знать. Мне любопытно, какова общая «лучшая практика» для тех ситуаций, когда желательна изменчивость. Кажется, что F # предлагает для этого две возможности: let mutableпривязку, которая работает как...