«language-design» etiketlenmiş sorular

Programlama dillerinin herhangi bir yönünün tasarımı ile ilgili sorular için bir etiket.

9
Neden benzersiz anonim türlere sahip bir dil tasarlayasınız?
Bu, beni her zaman C ++ lambda ifadelerinin bir özelliği olarak rahatsız eden bir şeydir: Bir C ++ lambda ifadesinin türü benzersiz ve anonimdir, basitçe yazamam. Sözdizimsel olarak tamamen aynı olan iki lambda oluştursam bile, ortaya çıkan türler farklı olarak tanımlanır. Sonuç şudur: a) lambdalar yalnızca derleme zamanına, konuşulamayan türün …

4
Neden bir Objective-C yöntem adının son bölümü bir bağımsız değişken almalıdır (birden fazla bölüm varken)?
Objective-C'de, son bileşenin bir argüman almadığı durumlarda yöntem adlarını bildiremezsiniz. Örneğin, aşağıdaki yasa dışıdır. -(void)take:(id)theMoney andRun; -(void)take:(id)yourMedicine andDontComplain; Objective-C neden bu şekilde tasarlandı? Kimsenin kurtulmaya ihtiyaç duymadığı, Smalltalk'ın bir eseri miydi? Bu sınırlama Smalltalk'da anlamlıdır, çünkü Smalltalk mesaj çağırma etrafında sınırlayıcılara sahip değildir, bu nedenle son bileşen, son argümana tek …

8
Haskell'in kesinlik noktaları nelerdir?
Haskell'in varsayılan olarak tembel olduğunu hepimiz biliyoruz (veya bilmeliyiz). Değerlendirilmesi gerekmedikçe hiçbir şey değerlendirilmez. Peki bir şey ne zaman değerlendirilmeli? Haskell'in katı olması gereken noktalar var. Ben bunlara "kesinlik noktaları" diyorum, ancak bu özel terim düşündüğüm kadar yaygın değil. Bana göre: Haskell'de azaltma (veya değerlendirme) yalnızca kesinlik noktalarında gerçekleşir. Soru …

4
Neden işlev şablonu kısmen özelleştirilemez?
Dil belirtiminin kısmen yasakladığını biliyorum , işlev şablonunun uzmanlaşmasını . Bunu neden yasakladığının gerekçesini bilmek isterim? Yararlı değiller mi? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, int>() {} //not allowed!

7
"Nesne" sınıfının örneğinde öznitelikler ayarlanamaz
Bu yüzden, bu soruyu cevaplarken Python ile oynuyordum ve bunun geçerli olmadığını keşfettim: o = object() o.attr = 'hello' nedeniyle bir AttributeError: 'object' object has no attribute 'attr'. Bununla birlikte, nesneden miras alınan herhangi bir sınıf için geçerlidir: class Sub(object): pass s = Sub() s.attr = 'hello' Yazdırma s.attr, beklendiği …


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.