Każdy, kto majstruje przy Pythonie wystarczająco długo, został ugryziony (lub rozdarty na kawałki) przez następujący problem: def foo(a=[]): a.append(5) return a Nowicjusze Python oczekiwałby to funkcja zawsze zwraca listę z tylko jednego elementu: [5]. Rezultat jest natomiast zupełnie inny i bardzo zadziwiający (dla nowicjusza): >>> foo() [5] >>> foo() [5, …
Dlaczego Java nie obsługuje obsługi liczb całkowitych bez znaku? Wydaje mi się, że jest to dziwne pominięcie, biorąc pod uwagę, że pozwalają one na napisanie kodu, który rzadziej powoduje przepełnienie na nieoczekiwanie dużych danych wejściowych. Co więcej, używanie liczb całkowitych bez znaku może być formą samokontroli, ponieważ wskazują one, że …
Kompilator C # wymaga, aby ilekroć typ niestandardowy definiował operatora ==, musi on także definiować !=(patrz tutaj ). Dlaczego? Jestem ciekawy, dlaczego projektanci uznali to za konieczne i dlaczego kompilator nie może ustawić domyślnej rozsądnej implementacji dla jednego z operatorów, gdy obecny jest tylko drugi. Na przykład Lua pozwala zdefiniować …
Jedną z najbardziej przydatnych funkcji Java 8 są nowe defaultmetody interfejsów. Istnieją zasadniczo dwa powody (mogą być inne), dlaczego zostały wprowadzone: Zapewnienie rzeczywistych domyślnych implementacji. Przykład:Iterator.remove() Zezwolenie na ewolucję API JDK. Przykład:Iterable.forEach() Z punktu widzenia projektanta API chciałbym móc korzystać z innych modyfikatorów metod interfejsu, np final. Przydałoby się to …
W końcu przestałem ciągnąć stopy przez te wszystkie lata i postanowiłem nauczyć się JavaScript „poprawnie”. Jednym z najbardziej porywających elementów projektowania języków jest implementacja dziedziczenia. Mając doświadczenie w Ruby, bardzo cieszyłem się z zamykania i dynamicznego pisania; ale przez całe życie nie mogę zrozumieć, jakie korzyści można uzyskać z instancji …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Zamknięte 5 lat temu . Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Czy są jakieś funkcje Ruby / Python, …
Dlaczego więcej popularnych języków statycznych nie obsługuje przeciążania funkcji / metod według typów zwracanych? Nie mogę wymyślić nic takiego. Wydaje się nie mniej użyteczne lub uzasadnione niż wspieranie przeciążenia według typu parametru. Dlaczego jest o wiele mniej popularny?
Właśnie spotkałem ciekawą sytuację w JavaScript. Mam klasę z metodą, która definiuje kilka obiektów za pomocą notacji literałowej. Wewnątrz tych obiektów thisużywany jest wskaźnik. Na podstawie zachowania programu wydedukowałem, że thiswskaźnik odnosi się do klasy, na której wywołano metodę, a nie do obiektu tworzonego przez literał. Wydaje się to arbitralne, …
Nie rozumiem, dlaczego Python nie ma signfunkcji. Ma abswbudowaną (którą uważam za signsiostrę), ale niesign . W Pythonie 2.6 jest nawet copysignfunkcja (w matematyce ), ale nie ma znaku. Po co męczyć się, aby napisać, copysign(x,y)kiedy możesz po prostu napisać a, signa następnie uzyskać copysignbezpośrednio odabs(x) * sign(y) ? To …
z Java5 możemy napisać: Foo[] foos = ... for (Foo foo : foos) lub po prostu używając Iterable w pętli for. To jest bardzo przydatne. Nie można jednak napisać ogólnej metody iterowalnej: public void bar(Iterable<Foo> foos) { .. } i wywoływanie go tablicą, ponieważ nie jest to Iterable: Foo[] foos …
Ostatnio współpracuję z dostawcami i natknąłem się na interesującą sytuację, w której chciałem mieć klasę abstrakcyjną z abstrakcyjną metodą statyczną. Przeczytałem kilka postów na ten temat i ma to sens, ale czy istnieje jakieś przyjemne, jasne wytłumaczenie?
Chcielibyśmy poznać podstawy dotyczące tego, skąd pochodzi termin „ pustka ” i dlaczego nazywa się go pustką. Celem pytania jest pomoc komuś, kto nie ma doświadczenia w C i nagle szuka kodu opartego na C.
Poniższy kod jest nieprawidłowy (zobacz go na ideone ): public class Test { public static void Main() { int j = 5; (j++); // if we remove the "(" and ")" then this compiles fine. } } błąd CS0201: Tylko przypisanie, wywołanie, inkrementacja, dekrementacja, await i nowe wyrażenia obiektu mogą …
Proszę wybaczyć moją ignorancję. Bawię się PHP i zmoczę nogi podczas przeglądania, i czuję się zmuszony zadać pytanie, nad którym zastanawiałem się od lat: Kiedy piszesz zupełnie nowy język programowania, w jakim go piszesz ? Prawdopodobnie brzmi to naprawdę głupio dla wszystkich programistów, do których mam ogromny szacunek, ale dla …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.