«immutability» etiketlenmiş sorular

Değişmezlik, verilerin oluşturulduktan sonra değiştirilememesidir. Bunun yerine veriler kopyalanarak değişiklikler yapılır. Değişmez verilerin bir özelliği, * referans olarak şeffaf * olmasıdır.

8
Değişmez ne anlama geliyor?
Bir dizge değişmez ise, bu şu anlama mı gelir .... (JavaScript varsayalım) var str = 'foo'; alert(str.substr(1)); // oo alert(str); // foo Bu, bir dizedeki yöntemleri çağırırken, değiştirilmiş dizgeyi döndüreceği, ancak ilk dizeyi değiştirmeyeceği anlamına mı geliyor? Dize değiştirilebilir olsaydı, bu 2.'nin alert()de döneceği anlamına oomı geliyor?

10
Tamsayı Değiştirilemez mi
Bunun muhtemelen çok aptalca olduğunu biliyorum, ancak birçok yer Java'daki Integer sınıfının değişmez olduğunu iddia ediyor, ancak şu kod: Integer a=3; Integer b=3; a+=b; System.out.println(a); (Beklenen) sonucu verirken herhangi bir sorun yaşamadan yürütür 6. Yani etkili bir şekilde a'nın değeri değişmiştir. Bu, Tamsayının değiştirilebilir olduğu anlamına gelmez mi? İkincil soru …

8
Değeri mutasyon olmadan nesneden kaldırın
Orijinal nesneyi değiştirmeden belirli bir anahtardaki bir nesneden bir değeri kaldırmanın iyi ve kısa yolu nedir? Şöyle bir şey yapmak istiyorum: let o = {firstname: 'Jane', lastname: 'Doe'}; let o2 = doSomething(o, 'lastname'); console.log(o.lastname); // 'Doe' console.log(o2.lastname); // undefined Bu tür görevler için çok sayıda değişmezlik kitaplığı olduğunu biliyorum, ancak …

5
Scala'da val-değişkene karşı var-immutable
Değişmez bir koleksiyonla var kullanmak yerine değişebilen bir koleksiyonla val'in ne zaman kullanılacağına ilişkin Scala'da herhangi bir kılavuz var mı? Yoksa gerçekten değişmez bir koleksiyonla vali mi hedeflemelisiniz? Her iki koleksiyon türünün de olması bana çok fazla seçenek veriyor ve çoğu zaman bu seçimi nasıl yapacağımı bilmiyorum.

9
Uzun parametre listelerine sahip yapıcılar kullanmadan büyük, değişmez nesneler oluşturmak
Değişmez olabilen ve olması gereken bazı büyük (3'ten fazla alan) nesnem var. Bu vakayla her karşılaştığımda, uzun parametre listeleri ile kurucu iğrençlikleri yaratma eğilimindeyim. Doğru hissettirmiyor, kullanımı zor ve okunabilirlik zarar görüyor. Alanların listeler gibi bir tür koleksiyon türü olması daha da kötüdür. Basit addSibling(S s), nesne yaratmayı çok kolaylaştırır, …
96 java  oop  scala  immutability 


7
Swift'de Değişmez / Değişebilir Koleksiyonlar
Değişken / değişmez nesnelerin (Dizi, Sözlük, Kümeler, Veri) Swift dilinde oluşturulmasını anlamak için Apple'ın Swift programlama kılavuzuna başvuruyordum. Ancak Swift'de nasıl değişmez bir koleksiyon oluşturacağımı anlayamadım. Objective-C'de aşağıdakiler için Swift'deki eşdeğerlerini görmek istiyorum Değişmez Dizi NSArray *imArray = [[NSArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; Değişebilir Dizi NSMutableArray *mArray = [[NSMutableArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; [mArray addObject:@"Fourth"]; Değişmez …

8
C # 'da Birden Çok Dize Öğesini Değiştirin
Bunu yapmanın daha iyi bir yolu var mı... MyString.Trim().Replace("&", "and").Replace(",", "").Replace(" ", " ") .Replace(" ", "-").Replace("'", "").Replace("/", "").ToLower(); String sınıfını tek bir işe indirgemek için genişlettim ama daha hızlı bir yol var mı? public static class StringExtension { public static string clean(this string s) { return s.Replace("&", "and").Replace(",", "").Replace(" …


1
Anahtar ile ImmutableSortedDictionary aralık numaralandırması
Ben 'C # hakkında okuma s edildi ImmutableSortedDictionaryiçinde System.Collections.Immutableve benim programda uygulamak konusunda düşünme. C ++ 'ı çok seviyorum lower_boundve upper_bound( buraya bakın ) ve menzil aramaları için bir şey görmeyi bekliyordum. Bununla birlikte, benzer yöntemler dokümantasyonda garip bir şekilde yok gibi görünmektedir . Bir şey mi kaçırıyorum? Yoksa MS, …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.