Вопросы с тегом 'immutability'

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

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

После обсуждений здесь на SO я уже несколько раз замечал, что изменчивые структуры являются "злыми" (как в ответе на этот question). Какова фактическая проблема с изменчивостью и структурами в С#?
задан 14 янв. '09 в 2:27
10
ответов

Почему восклицательные знаки используются в Ruby-методах?

В Ruby у некоторых методов есть вопросительный знак (?), который задает вопрос типа include?, который спрашивает, включен ли этот объект, затем возвращает true/false. Но почему некоторые методы имеют восклицательные знаки (!), а другие нет? Что эт...
задан 04 марта '09 в 23:02
26
ответов

Удаление определенных символов из строки в Python

Я пытаюсь удалить определенные символы из строки с помощью Python. Это код, который я использую прямо сейчас. К сожалению, он ничего не делает для строки. for char in line: if char in " ?.!/;:": line.replace(char,'') Как это сделать пр...
задан 15 окт. '10 в 6:46
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...
задан 06 янв. '14 в 10:26
16
ответов

Что подразумевается под неизменным?

Это может быть самый тупой вопрос, который когда-либо задавался, но я думаю, что это полная путаница для новичка. Может кто-нибудь прояснить, что подразумевается под неизменным? Почему String неизменяемый? Каковы преимущества/недостатки неизменя...
задан 11 нояб. '08 в 2:05
12
ответов

Конст в javascript? Когда его использовать и необходимо

Недавно я встретил ключевое слово const в javascript. Из того, что я могу сказать, он используется для создания неизменяемых переменных, и я протестировал его, чтобы убедиться, что он не может быть переопределен (в node.js): const x = 'const'; con...
задан 20 янв. '14 в 17:56
74
ответов

Какое лучшее имя для не-мутирующего метода "добавить" к неизменяемой коллекции?

Извините за waffly title - если бы я мог придумать краткое название, мне не пришлось бы задавать вопрос. Предположим, что у меня есть неизменный тип списка. Он имеет операцию Foo(x), которая возвращает новый неизменяемый список с указанным аргумент...
задан 06 февр. '09 в 22:49
23
ответов

Неизменяемость строк в Java

Рассмотрим следующий пример. String str = new String(); str = "Hello"; System.out.println(str); //Prints Hello str = "Help!"; System.out.println(str); //Prints Help! Теперь в Java объекты String неизменяемы. Тогда как объекту str может быть ...
задан 12 окт. '09 в 4:23
13
ответов

Почему .NET String неизменяема?

Как мы все знаем, String является неизменным. Каковы причины неизменяемости String и введение класса StringBuilder как изменяемого?
задан 02 марта '10 в 20:33
10
ответов

Отменяемые и неизменяемые объекты

Я пытаюсь поднять голову вокруг изменчивых и неизменяемых объектов. Использование измененных объектов получает много плохого нажатия (например, возвращает массив строк из метода), но мне трудно понять, каковы негативные последствия этого. Каковы наил...
задан 18 окт. '08 в 10:28
8
ответов

Почему кортежи содержат изменчивые элементы?

Если кортеж неизменен, то почему он может содержать изменяемые элементы? Кажется, что противоречие заключается в том, что когда изменяемый элемент, такой как список, становится модифицированным, кортеж, который он принадлежит, поддерживает неизменяе...
задан 18 марта '12 в 7:26
13
ответов

Как избежать проблемы "слишком много параметров" в дизайне API?

У меня есть эта функция API: public ResultEnum DoSomeAction(string a, string b, DateTime c, OtherEnum d, string e, string f, out Guid code) Мне это не нравится. Потому что порядок параметров становится излишне значительным. Сложнее добавлять...
задан 05 июня '11 в 0:01
19
ответов

Строка неизменна. В чем же смысл?

Я написал следующий код для неизменяемых строк. public class ImmutableStrings { public static void main(String[] args) { testmethod(); } private static void testmethod() { String a = "a"; System.out.println("a 1...
задан 10 янв. '12 в 7:04
17
ответов

Как создать неизменяемый объект в Python?

Хотя я никогда не нуждался в этом, мне просто показалось, что создание неизменяемого объекта на Python может быть несколько сложным. Вы не можете просто переопределить __setattr__, потому что тогда вы даже не можете устанавливать атрибуты в __init__....
задан 28 янв. '11 в 15:14
15
ответов

Неизменяемые против Mutable типов

Я смущен тем, что такое неизменный тип. Я знаю, что объект float считается неизменным, с этим типом примера из моей книги: class RoundFloat(float): def __new__(cls, val): return float.__new__(cls, round(val, 2)) Является ли это неизме...
задан 08 нояб. '11 в 22:41