Запитання з тегом «immutability»

Незмінюваність - це неможливість змінювати дані після їх створення. Натомість зміни вносяться шляхом копіювання даних. Властивість незмінних даних полягає в тому, що вони * референтно прозорі *.


10
Чому в методах Рубі використовуються знаки оклику?
У Ruby в деяких методах є знак питання ( ?), який задає подібне include?запитання, якщо включений відповідний об'єкт, то потім повертається true / false. Але чому деякі методи мають знаки оклику ( !), де інші не мають? Що це означає?

16
Чому змінні структури «злі»?
Після обговорень тут на SO я вже кілька разів читав зауваження, що змінні структури є «злими» (як у відповіді на це запитання ). Яка актуальна проблема з мутабельністю та структурами в C #?

17
Що розуміється під незмінним?
Це може бути найглумішим питанням, яке коли-небудь задавали, але я думаю, що для новачків Java це досить заплутано. Чи може хтось уточнити, що мається на увазі під незмінним ? Чому Stringнепорушний? Які переваги / недоліки незмінних предметів? Чому слід StringBuilderзмінювати такі об'єкти, які можна змінити, як " String" та "vice-verse"? …

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
Вартість в JavaScript: коли ним користуватися і чи потрібно це?
Нещодавно я натрапив на constключове слово в JavaScript. З того, що я можу сказати, він використовується для створення незмінних змінних , і я перевірив, щоб його неможливо було переосмислити (у Node.js): const x = 'const'; const x = 'not-const'; // Will give an error: 'constant 'x' has already been defined' …

30
Яке найкраще ім’я для немутуючого методу "додати" для незмінної колекції?
Вибачте за вафельний заголовок - якби я міг придумати стислий заголовок, мені не доведеться ставити питання. Припустимо, у мене є незмінний тип списку. Він має операцію, 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 . На півдорозі я натрапив на Immutability або Immutable-JS Library , коли я читав про реалізацію Flux та Redux у Facebook. Питання в тому, чому незмінність так важлива? Що не так у мутуванні предметів? Чи не робить це просто? Надаючи …

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): return tuple.__new__(cls, …

8
Чому кортежі можуть містити елементи, що змінюються?
Якщо кортеж незмінний, то чому він може містити предмети, що змінюються? Здається, суперечливість, що коли елемент, що змінюється, наприклад список, змінюється, кордон, якому він належить, вважає незмінним.

11
Змінні та незмінні об'єкти
Я намагаюся обвести голову навколо змінних та незмінних об'єктів. Використання об'єктів, що змінюються, спричиняє багато поганого пресингу (наприклад, повернення масиву рядків із методу), але у мене виникають проблеми з розумінням того, які негативні наслідки мають у цьому. Які найкращі практики щодо використання змінних об'єктів? Чи слід уникати їх, коли це …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.