immutability- все статьи тега


Неизменяемый набор in.NET

Имеет ли .NET BCL неизменяемый тип набора? Я программирую на функциональном диалекте C# и хотел бы сделать что-то вроде new Set.UnionWith(A).UnionWith(B).UnionWith(C) Но лучшее, что я могу найти, - это HashSet.UnionWith, что потребует следующей последовательности вызовов: HashSet composite = new HashSet(); composite.UnionWith(A); composite.UnionWith(B); composite.UnionWith(C); Это использование очень непрозрачно с точки зрения референции, что затрудняет оптимизацию и понимание. Есть ли ...

Неизменяемые структуры данных и параллелизм

Я пытаюсь понять, как использование неизменяемых структур данных в параллельном программировании может устранить необходимость блокировки. Я читал кое-что в интернете, но пока не видел конкретных примеров. Например, предположим, что у нас есть некоторый код (C#), который использует lock(s) вокруг Dictionary< string, object> делает это: class Cache { private readonly Dictionary<string, object> _cache = new Dictionary<string, object>(); private readonly object _lock = ...

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

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

Const в javascript? Когда его использовать и нужно ли

Я недавно наткнулся на const ключевое слово в javascript. Из того, что я могу сказать, он используется для создания неизменяемых переменных, и я проверил, чтобы он не мог быть переопределен (в узле.js): const x = 'const'; const x = 'not-const'; // Will give an error: 'constant 'x' has already been defined' Я понимаю, что он еще не стандартизирован во всех браузерах - но меня интересует только контекст node.js / v8, и я заметил, что некоторые разработчики / проектов кажется, в пользу его силь ...

Что такое "замороженный диктант"?

замороженный набор frozenset. замороженный список может быть кортежем. что такое замороженный диктант? Неизменный, хешируемый дикт. я думаю, это может быть что-то вроде collections.namedtuple, но это больше похоже на замороженный дикт (полузамороженный дикт). Не так ли? "frozendict" должен быть замороженным словарем, он должен иметь keys,values,get и т. д. и поддержка in,for и т. д. ...

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

Я имел в виду руководство по программированию Apple Swift для понимания создания изменяемых/ неизменяемых объектов(массив, словарь, наборы, данные) на языке Swift. Но я не мог понять, как создать неизменяемые коллекции в Swift. Я хотел бы видеть эквиваленты в Swift для следующего в Objective-C Неизменяемый Массив NSArray *imArray = [[NSArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; Мутабельный Массив NSMutableArray *mArray = [[NSMutableArray alloc]initWithObjects:@"First",@ ...

Является ли" новая строка () " неизменной?

Я некоторое время изучал строку Java. Следующие вопросы основаны на следующих сообщениях строка Java является специальнойнеизменяемость строки в java неизменяемости: Теперь, исходя из неизменности, класс String был спроектирован так, что значения в общий бассейн может быть повторно использован в других местах / переменных. Это хорошо, если String был создан как String a = "Hello World!"; Однако, если я создаю строку типа String b = new String("Hello World!"); почему это тоже непрело ...

Hashable, неизменный

из недавнего вопроса SO (см. Создание словаря в python, который индексируется списками) я понял, что у меня, вероятно, было неправильное представление о значении хэшируемых и неизменяемых объектов в python. что означает hashable на практике? какова связь между hashable и immmutable? есть изменяемые объекты, которые hashable или неизменяемые объекты, которые не hashable? ...

Сделать неизменяемый объект Java

моя цель-сделать объект Java неизменяемые. У меня есть класс Student. Я закодировал его следующим образом для достижения неизменности: public final class Student { private String name; private String age; public Student(String name, String age) { this.name = name; this.age = age; } public String getName() { return name; } public String getAge() { return age; } } мой вопрос в том, что является лучшим способом достижения неизменности для Student класса? ...

неизменяемые строки vs std:: string

Я недавно читал о неизменяемых строк, здесь и здесь также некоторые вещи о том, почему D выбрал неизменяемые строки. Есть много преимуществ. тривиально потокобезопасным более безопасное более эффективная память в большинстве случаев использования. дешевые подстроки (токенизация и нарезка) Не говоря уже о том, что большинство новых языков имеют неизменяемые строки, D2. 0, Java, C#, Python, так далее. выиграет ли C++ от неизменяемых строк? можно ли реализовать неизменяемый класс string в c++ ...