mutable hakkında sorular

18
cevaplar

'Mutable' anahtar sözcüğünün, değişkenin bir const işlevi tarafından değiştirilmesine izin vermekten başka bir amacı var mı?

bir süre önce mutable anahtar kelimesiyle bir sınıfın üye değişkenini işaretleyen bazı kodlarla karşılaştım. Görebi ... itlenmesine izin veren değiştirilebilir olarak işaretledim, ancak dürüst olmak gerekirse, biraz kesmek gibi geliyor.
tarihinde sordu 2008-09-19 23:58:05
16
cevaplar

Neden değiştirilebilir yapılar "kötü"?

buradaki tartışmaları takiben, mutable yapıların "kötü" olduğunu birkaç kez okudum (bu sorusuna cevabında olduğu gibi ). C# ' de mutabilite ve yapılarla ilgili gerçek sorun nedir?
tarihinde sordu 2009-01-14 02:27:47
12
cevaplar

Listelerin listesi beklenmedik şekilde alt listelere yansıyan değişiklikler

Python'da bir liste listesi oluşturmam gerekiyordu, bu yüzden aşağıdakileri yazdım: myList = [[1] * 4] * 3 ... istediğim veya beklediğim şey değil. Birisi lütfen neler olduğunu ve nasıl dolaşılacağını açıklayabilir mi?
tarihinde sordu 2008-10-27 17:57:22
7
cevaplar

Del'in kullanımı kötü mü?

nesneleri silmek için kodumda del kullanıyorum: >>> array = [4, 6, 7, 'hello', 8] >>> del(ar ... File "<stdin>", line 1, in <module> NameError: name 'a' is not defined >>> b [] >>>
tarihinde sordu 2014-04-28 06:03:16
2
cevaplar

Matz neden Ruby'de varsayılan olarak dizeleri değiştirmeyi seçti?

bu sorunun tersi: neden dizeler Java ve. NET'TE değiştirilemez? bu seçim Ruby'de yapıldı, çünkü işlemler ( ... r, çünkü Ruby'nin tasarımı aksi halde verimli bir şekilde uygulanması için yüksek bir prim koymuyor gibi görünüyor.)
tarihinde sordu 2010-04-09 19:01:02
4
cevaplar

Her zaman Std::mutex'i C++11'de değiştirilebilir olarak beyan eder mi?

Herb Sutter'ın konuşmasını izledikten sonra const ve mutable bilmiyorum, her zaman mutex'i mutable olarak tanıml ... , ilgili bir soru buldum (muhtemelen bir yinelenen). Yine de C++11'den önce soruldu. Belki de bu bir fark yaratır.
tarihinde sordu 2013-01-03 04:49:32
6
cevaplar

Ruby içinde dizeler değiştirilebilir mi? [çoğaltmak]

bu sorunun zaten burada bir cevabı var: ruby'de dizeler değiştirilebilir mi? ... üyor. Ancak dizeye ekleme görünüşe göre yeni bir dize yaratıyor. Ruby değiştirilebilir dizeleri vardır?
tarihinde sordu 2011-12-20 22:40:21
4
cevaplar

C#için" çoğunlukla eksiksiz " (ım)mutabilite yaklaşımı nedir? [kapalı]

değişmezlik, C# ' ye F# için olduğu dereceye kadar veya CLR'DEKİ bazı desteğe rağmen çerçeveye (BCL) tam olarak bakılm ... 10) return; var c= x.Clone(); c.Y++; c.Z.Clear(); c.Z.Add("Bye, off to another thread"); // ... }
tarihinde sordu 2011-10-05 18:45:10
3
cevaplar

Yerinde operasyonlar yapmak nesneyi kötü bir fikir mi döndürüyor?

çoğunlukla Python hakkında konuşuyorum, ancak sanırım bu muhtemelen çoğu dil için geçerlidir. Değiştirilebilir bir ne ... ek kötü bir fikir mi? Çoğu örnek sadece nesneyi değiştirmek ve None dönmek gibi görünüyor . Örneğin, list.sort .
tarihinde sordu 2012-10-25 09:55:12
4
cevaplar

Bir using deyimi içindeki bir kapanma içindeki değiştirilebilir bir yapı değişkeninin yakalanması neden yerel davranışını değiştirir?

Update : eh, şimdi gittim ve yaptım: ben Microsoft ile bir hata raporu açtı bu konuda, doğru davranış olduğ ... m için belirsizdir. bu konuyla ilgili düşüncelerimden biraz daha fazlası için burada bölümüne bakın .
tarihinde sordu 2011-01-10 02:58:24
4
cevaplar

Bir using deyimi tanımsız davranışından bir değer türünü mi değiştiriyor?

bu gerçekten bu soru bir dalı, ama bence kendi cevabını hak ediyor. ECMA-334'ün 15.13. bölümüne göre ( ... ansa bağlı olarak çalıştığı gerçeği mi (böylece görünüşte zararsız görünen kodun işlevselliğine hiç güvenmemelidir)?
tarihinde sordu 2011-01-12 00:03:53
4
cevaplar

Hiçbir Scala değiştirilebilir liste

Scala hem değiştirilebilir hem de değişmez bir haritaya sahiptir , ama sadece değişmez bir liste var. Değiştirilebili ... ir liste istiyorsanız, bir ListBuffer gerekir. bunun neden böyle olduğunu anlamıyorum. Kimse bilmiyor mu?.
tarihinde sordu 2011-07-15 15:03:08
3
cevaplar

değiştirilemez bir kapsayıcı içinde değiştirilebilir bir türü

tuple üyelerini değiştirme konusunda biraz kafam karıştı. Aşağıdakiler çalışmıyor: >>> thing = (['a'], ... ple üyeleri için atama operatörünü kullanmanın yasaklanması gibi görünüyor, ancak son iki durum beni karıştırıyor.
tarihinde sordu 2012-02-07 11:06:13
2
cevaplar

Python 2.7-lvalue modifikasyonu için temiz sözdizimi

uzak kopya sahipleri tarafından değiştirilmemesi beklenen yapı benzeri türlere sahip olmak çok yaygındır. bir ... le sınırlı olmayan LVALUE modifikasyonu için temel bir sözdizimi oluşturmuştur. Onu bulamıyorum. Lütfen yardım edin.
tarihinde sordu 2017-08-21 04:29:29