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

Неизменяемость - это невозможность изменять данные после их создания. Вместо этого изменения производятся путем копирования данных. Свойство неизменяемых данных состоит в том, что они * ссылочно прозрачны *.

27
Удалить определенные символы из строки в Python
Я пытаюсь удалить определенные символы из строки, используя Python. Это код, который я использую прямо сейчас. К сожалению, похоже, что ничего не делает со строкой. for char in line: if char in " ?.!/;:": line.replace(char,'') Как мне сделать это правильно?

10
Почему восклицательные знаки используются в методах Ruby?
В Ruby некоторые методы имеют вопросительный знак ( ?), который задает вопрос, подобный тому, include?который задается , если включается рассматриваемый объект, а затем возвращает true / false. Но почему некоторые методы имеют восклицательные знаки ( !), а другие нет? Что это значит?

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

17
Что подразумевается под неизменным?
Это может быть самый тупой вопрос, который когда-либо задавался, но я думаю, что это довольно запутанно для новичка на Java. Может кто-нибудь уточнить, что подразумевается под неизменным ? Почему Stringнеизменный? Каковы преимущества / недостатки неизменяемых объектов? Почему изменяемый объект, например, StringBuilderдолжен быть предпочтительнее, чем String и наоборот? Хороший пример (на …

15
Является ли строка Java действительно неизменной?
Мы все знаем, что Stringв Java неизменяемо, но проверьте следующий код: String s1 = "Hello World"; String s2 = "Hello World"; String s3 = s1.substring(6); System.out.println(s1); // Hello World System.out.println(s2); // Hello World System.out.println(s3); // World Field field = String.class.getDeclaredField("value"); field.setAccessible(true); char[] value = (char[])field.get(s1); value[6] = 'J'; value[7] = …

17
Const в JavaScript: когда его использовать и нужно ли это?
Я недавно сталкивался с constключевым словом в JavaScript. Из того, что я могу сказать, он используется для создания неизменяемых переменных , и я проверил, чтобы убедиться, что он не может быть переопределен (в Node.js): const x = 'const'; const x = 'not-const'; // Will give an error: 'constant 'x' has …

30
Какое имя лучше всего использовать для неизменяемого метода add в неизменяемой коллекции?
Извините за вафельный заголовок - если бы я мог придумать краткое название, мне не пришлось бы задавать вопрос. Предположим, у меня есть неизменный тип списка. У него есть операция, Foo(x)которая возвращает новый неизменный список с указанным аргументом в качестве дополнительного элемента в конце. Таким образом, для построения списка строк со …


26
Неизменность строк в Java
Рассмотрим следующий пример. String str = new String(); str = "Hello"; System.out.println(str); //Prints Hello str = "Help!"; System.out.println(str); //Prints Help! Теперь в Java объекты String неизменны. Тогда как же объекту strможет быть присвоено значение «Помощь!». Разве это не противоречит неизменности строк в Java? Кто-нибудь может объяснить мне точную концепцию неизменности? …

11
В чем разница между мелким копированием, глубокой копией и обычной операцией назначения?
import copy a = "deepak" b = 1, 2, 3, 4 c = [1, 2, 3, 4] d = {1: 10, 2: 20, 3: 30} a1 = copy.copy(a) b1 = copy.copy(b) c1 = copy.copy(c) d1 = copy.copy(d) print("immutable - id(a)==id(a1)", id(a) == id(a1)) print("immutable - id(b)==id(b1)", id(b) == id(b1)) print("mutable …

11
Почему неизменность так важна (или необходима) в JavaScript?
В настоящее время я работаю над платформами React JS и React Native . На полпути я наткнулся на Immutable или библиотеку Immutable-JS , когда читал о реализации Facebook в Flux и Redux. Вопрос в том, почему неизменность так важна? Что не так в мутирующих объектах? Разве это не упрощает ситуацию? …

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

24
Как сделать неизменный объект в Python?
Хотя мне это никогда не было нужно, меня просто поразило, что создание неизменяемого объекта в Python может быть немного сложнее. Вы не можете просто переопределить __setattr__, потому что тогда вы не можете даже установить атрибуты в __init__. Подклассы кортежа - это трюк, который работает: class Immutable(tuple): def __new__(cls, a, b): …

8
Почему кортежи могут содержать изменяемые элементы?
Если кортеж является неизменным, то почему он может содержать изменяемые элементы? Кажется противоречием то, что когда изменяемый элемент, такой как список, действительно изменяется, кортеж, к которому он принадлежит, остается неизменным.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.