Wszyscy wiemy (lub powinniśmy wiedzieć), że Haskell jest domyślnie leniwy. Nic nie jest oceniane, dopóki nie musi zostać ocenione. Kiedy więc trzeba coś ocenić? Są punkty, w których Haskell musi być surowy. Nazywam te „punktami ścisłości”, chociaż ten konkretny termin nie jest tak rozpowszechniony, jak myślałem. Jeśli chodzi o mnie: …
To jest coś, co zawsze mnie niepokoiło jako cecha wyrażeń lambda w C ++: typ wyrażenia lambda w C ++ jest unikalny i anonimowy, po prostu nie mogę go zapisać. Nawet jeśli utworzę dwie lambdy, które są dokładnie takie same pod względem składniowym, otrzymane typy są definiowane jako różne. Konsekwencją …
W Objective-C nie można zadeklarować nazw metod, w których ostatni składnik nie przyjmuje argumentu. Na przykład poniższy kod jest niedozwolony. -(void)take:(id)theMoney andRun; -(void)take:(id)yourMedicine andDontComplain; Dlaczego Objective-C został zaprojektowany w ten sposób? Czy to tylko artefakt Smalltalk, którego nikt nie widział potrzeby się pozbyć? To ograniczenie ma sens w Smalltalk, ponieważ …
Tak więc bawiłem się Pythonem, odpowiadając na to pytanie i odkryłem, że to nie jest poprawne: o = object() o.attr = 'hello' z powodu AttributeError: 'object' object has no attribute 'attr'. Jednak z każdą klasą dziedziczoną z obiektu jest to poprawne: class Sub(object): pass s = Sub() s.attr = 'hello' …
Dlaczego C # pozwalają bloki kodu bez uprzedniego oświadczenia (np if, else, for, while)? void Main() { { // any sense in this? Console.Write("foo"); } }
Szybkie pytanie: z punktu widzenia projektowania, dlaczego w C ++ nie ma klasy podstawowej, która jest matką wszystkiego, co zwykle jest objectw innych językach?
Często stwierdzam, że podczas debugowania programu wygodne jest (choć może to być złą praktyką) wstawienie instrukcji return wewnątrz bloku kodu. Mogę spróbować czegoś takiego w Javie ... class Test { public static void main(String args[]) { System.out.println("hello world"); return; System.out.println("i think this line might cause a problem"); } } oczywiście …
Czy istnieje decyzja projektowa w języku Python (PEP), która uniemożliwia dodanie posortowanego kontenera do Pythona? ( OrderedDictnie jest sortowanym kontenerem, ponieważ jest uporządkowany według kolejności reklamowej).
Oto fragment samouczków Java firmy Sun : Przełącznik działa z byte, short, chari intprymitywnych typów danych. Działa również z wymienionych typów (omówionych klas i dziedziczenie) i kilka specjalnych klas, które „wrap” pewne prymitywne typy: Character, Byte, Short, i Integer(omówione w prosty Data Objects). Musi istnieć dobry powód, dla którego longpierwotny …
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.