Описание тега mutability
Изменяемость - это свойство любой функции, переменной или выражения, значения которых могут изменяться с "побочными эффектами". Другими словами, значение не имеет ссылочной прозрачности.
1
ответ
Не может заимствовать `self.x` как неизменяемый, потому что`*self` также заимствован как изменяемый
Во-первых, пусть код говорит: #[derive(Debug)] struct Bar; #[derive(Debug)] struct Qux { baz: bool } #[derive(Debug)] struct Foo { bars: Vec<Bar>, qux: Qux, } impl Foo { fn get_qux(&mut self) -> &mut Qux { &mut self.qux } fn run…
27 июн '15 в 21:45
1
ответ
Понимание изменчивости в Python
У меня есть этот фрагмент: a = [1,2,3] b = a b = [4,5,6] # a doesnt change и это: a = [1,2,3] b = a b[0] = 5 # a also changes Как bинициализация играет роль в определении изменчивости a?
24 май '13 в 09:13
1
ответ
Scala: проверка остальных параметров в контроллере
Я пытаюсь проверить языковой параметр, поступающий из RESTful API. Я хочу изменить en_US на en-US, но входящие параметры определены как val. Я понимаю, что типы val не могут быть переназначены, но как мы проверяем параметры. Вот мой код контроллера.…
25 июн '18 в 22:37
1
ответ
Есть ли шаблон для переопределения свойства?
Среда выполнения Objective C хранит список объявленных свойств как метаданные с объектом Class. Метаданные включают имя свойства, тип и атрибуты. Библиотека времени выполнения также предоставляет несколько функций для извлечения этой информации. Это…
29 май '12 в 06:45
1
ответ
Функции-члены изменяют объект из основного, но не из другой функции
У меня есть класс Stack, который использует класс связанного списка list внутренне. В моей основной функции мои функции-члены push и pop успешно модифицируют данный стек. Я написал другую функцию, которая берет стек и выполняет с ним некоторые опера…
25 сен '15 в 01:41
2
ответа
Типы изменчивых вариантов OCaml
Руководство Caml Light упоминает типы изменчивых вариантов на странице 37: type foo = A of mutable int | B of mutable int * int Но это расширение, похоже, не является частью OCaml или нет? Прав ли я, что единственный способ определить изменяемый ти…
28 июн '13 в 13:00
1
ответ
Scala, читать файл, манипулировать каждой строкой, вставлять каждую строку в список
Я читаю файл построчно, заменяя подстроку "replace" на подстроку "replacecment". После завершения работы со строками я хочу вставить каждую строку в список. def importFile(replaceString:String, filePath:String, replacement:String)= { val fileLineLis…
13 июн '14 в 00:40
1
ответ
Структура ValueTuple изменчива только как переменная?
Я играл с ValueTuple структурировать и пытаться реализовать неизменный составной ключ. Ключ состоит из типов значений. Я попытался сломать следующую реализацию с помощью некоторых модульных тестов, но пока безуспешно. Я что-то пропустил? Также это п…
08 май '17 в 16:15
2
ответа
Где находится MutexGuard, если я никогда не назначу его переменной?
Я не понимаю "где" MutexGuard во внутреннем блоке кода есть. Мьютекс блокируется и разворачивается, давая MutexGuard, Каким-то образом этот код удается разыменовать MutexGuard а затем покорно заимствовать этот объект. Где сделал MutexGuard идти? Кро…
14 июл '18 в 05:50
1
ответ
Python - multiprocessing - queue: ссылка на мою очередь изменилась, даже если это один и тот же объект?
Я начал использовать многопроцессорность не так давно, и он работает на базовых примерах. После этого я попытался реализовать какую-то программу ввода с несколькими звуковыми сигналами и попытался направить поток ввода через очередь в какой-либо мод…
03 янв '18 в 06:44
1
ответ
Передача неизменяемой ссылки, когда существует изменяемая ссылка
У меня есть for цикл, который перебирает кусок Point Структуры. Points будет иметь некоторые поля, измененные в цикле, поэтому функция, содержащая цикл, требует изменяемой ссылки на фрагмент. Проблема возникает, когда мне нужно передать (неизменяему…
20 дек '18 в 15:29
1
ответ
Понимание изменчивости в F#: тематическое исследование
Я новичок в F#, и это моя первая попытка программирования чего-то серьезного. Извините, код немного длинный, но есть некоторые проблемы с изменчивостью, которые я не понимаю. Это реализация алгоритма Каргера MinCut для вычисления mincut на компонент…
09 янв '16 в 01:04
3
ответа
Изменчивость в словаре
>>> mydict = {1: {45: 'ades', 54:'adee'}, 2: {68: 'gdes'}} >>> curr_value = mydict[1][45] >>> mydict[1][45] = 'zzzz' >>> print (curr_value) ades # Expected value: zzzz Как же мой curr_value не мутирует от mydict? …
03 дек '17 в 09:06
2
ответа
Как вы можете использовать неизменяемую опцию по ссылке, которая содержит изменяемую ссылку?
Вот Thing: struct Thing(i32); impl Thing { pub fn increment_self(&mut self) { self.0 += 1; println!("incremented: {}", self.0); } } А вот функция, которая пытается изменить Thing и возвращает либо true, либо false, в зависимости от того, Thing д…
26 фев '19 в 11:38
1
ответ
Проблема изменчивости с self и коллекциями в Rust
Я пишу простую библиотеку в Rust, которая управляет колодой карт. Имеет функции перемешивания, раздачи карт и т. Д. Функция shuffle() принимает изменяемую ссылку на себя, что позволяет перетасовать существующую колоду. Это должно быть довольно прост…
02 апр '16 в 21:00
1
ответ
Как я могу использовать объект как параметр его собственного метода в Rust?
Я написал следующий код для простой структуры в Rust. Это всего лишь пример, у него нет реальной логики: struct Vec2 { x: f32, y: f32, } impl Vec2 { fn multiply(&mut self, other: &Vec2) { self.x *= other.x; self.y *= other.y; } } Я могу созд…
02 мар '19 в 19:06
2
ответа
Внутренняя изменчивость против данных, скрывающих, чтобы держать фиксированным референтом изменяемого заимствования
Если мы запустим это, то мы правильно получим ошибку "нельзя присвоить неизменному полю a.x ". Если мы удалим два // комментарии и закомментируйте эту плохую строку, тогда мы получим ошибку "невозможно присвоить данные в & ссылка ". Это имеет см…
21 фев '17 в 04:32
1
ответ
Переменные и переменные Ref с точки зрения захвата
Мое поверхностное понимание переменных в F# предполагает, что объявление переменной как 'изменяемой' и использование переменной 'ref', по сути, делают одно и то же. Оба они являются разными способами решения одной и той же основной проблемы - ограни…
19 окт '10 в 16:25
0
ответов
Безопасно ли использовать unsafeThaw индексируемый распакованный вектор?
Я только что опубликовал этот код: import qualified Data.Vector.Unboxed as VU import qualified Data.Vector.Algorithms.Intro as VAlgo argSort :: (Ord a, VU.Unbox a) => VU.Vector a -> VU.Vector Int argSort xs = VU.map fst $ VU.create $ do xsi &…
13 ноя '16 в 20:21
1
ответ
Как избежать изменчивости списка в python
Есть ли способ сохранить список неизмененным путем изменения списка б? a = [1,2,3] b = a print(a) print(b) b[0]=100 print(a) print(b) Output: [1, 2, 3] [1, 2, 3] [100, 2, 3] [100, 2, 3]
17 май '18 в 11:57