Jeśli chodzi o języki programowania, operatory są konstrukcjami, które zachowują się ogólnie jak funkcje, ale różnią się składnią lub semantycznie od zwykłych funkcji. Z Wikipedii: http://en.wikipedia.org/wiki/Operator_%28programming%29
Jedną z funkcji, których mi brakuje w językach funkcjonalnych, jest pomysł, że operatory to tylko funkcje, więc dodanie operatora niestandardowego jest często tak proste, jak dodanie funkcji. Wiele języków proceduralnych pozwala na przeciążanie operatora, więc w pewnym sensie operatory są nadal funkcjami (jest to bardzo prawdziwe w D, gdzie operator …
Coś, o czym wiem od jakiegoś czasu, ale nigdy nie brałem pod uwagę, że w większości języków można nadać priorytet operatorom w instrukcji if na podstawie ich kolejności. Często używam tego jako sposobu zapobiegania wyjątkom o zerowym odwołaniu, np .: if (smartphone != null && smartphone.GetSignal() > 50) { // …
Właśnie przeczytałem jeden z artykułów Joela, w którym mówi: Ogólnie rzecz biorąc, muszę przyznać, że trochę boję się funkcji językowych, które ukrywają rzeczy . Gdy zobaczysz kod i = j * 5; … W C wiesz przynajmniej, że j mnoży się przez pięć, a wyniki są przechowywane w i. Ale …
Na przykład, wolisz ten jednowarstwowy int median(int a, int b, int c) { return (a<b) ? (b<c) ? b : (a<c) ? c : a : (a<c) ? a : (b<c) ? c : b; } lub rozwiązanie if / else obejmujące wiele instrukcji zwrotu? Kiedy jest to ?:właściwe, a …
Znak plus +służy do dodawania i konkatenacji łańcuchów, ale jego towarzysz: znak minus -, na ogół nie jest widoczny do przycinania łańcuchów lub w innych przypadkach innych niż odejmowanie. Jaki może być tego powód lub ograniczenia? Rozważ następujący przykład w JavaScript: var a = "abcdefg"; var b = "efg"; a-b …
Czy ktoś mógłby wyjaśnić uzasadnienie, dlaczego w wielu najpopularniejszych językach (patrz uwaga poniżej) operatory porównania (==,! =, <,>, <=,> =) Mają wyższy priorytet niż operatory bitowe (&, |, ^ , ~)? Nie sądzę, że kiedykolwiek spotkałem się z zastosowaniem, w którym ten priorytet byłby naturalny. Zawsze są takie rzeczy jak: …
Jestem nieco zdezorientowany dokumentacji MSDN C #, który stanowi, że &i |są operatory logiczne i że &&i ||są operatory warunkowe. Ciągle dzwoni &&, ||a !operatory logiczne, więc nie mam racji?
Podczas programowania Python czasami robię a, **aby dokonać konwersji. Rozumiem, co robi, ale jakie struktury danych modyfikuję? A dicta co innego? An array? Czy istnieje nazwa dla **operatora?
Czy istnieje operator równoważny ani ? Na przykład moim ulubionym kolorem nie jest ani zielony, ani niebieski. A kod byłby równoważny z: // example one if (color!="green" && color!="blue") { } // example two if (x nor y) { // x is false and y is false }
Każdy kompetentny programista Java wie, że musisz użyć String.equals (), aby porównać ciąg, zamiast ==, ponieważ == sprawdza równość referencji. Kiedy mam do czynienia z łańcuchami, przez większość czasu sprawdzam równość wartości zamiast równości odniesienia. Wydaje mi się, że byłoby bardziej intuicyjne, gdyby język pozwalał na porównywanie wartości ciągów za …
Gdybym chciał porównać dwie liczby (lub inne dobrze uporządkowane byty), zrobiłbym to z x < y. Jeśli chcę porównać trzy z nich, licealistka z algebry zasugeruje spróbowanie x < y < z. Programista we mnie odpowie wtedy „nie, to nieważne, musisz to zrobić x < y && y < z”. …
Dlaczego operator --nie istnieje dla bool, a dla operatora ++? Próbowałem w C ++ i nie wiem, czy moje pytanie dotyczy innego języka. Będę również szczęśliwy. Wiem , że mogę używać operatora ++z boolem. To sprawia, że każdy bool jest równy prawdzie. bool b = false; b++; // Now b …
Zastanawiam się, czy istnieje jakikolwiek powód - lub, jeśli jest to tylko przypadek historyczny - że nie istnieją !>i !<operatorzy w większości języków programowania? a >= b (większa OR równa się b) może być zapisana jako !(a < b) (NIE mniejsza b) , która równa się a !< b. To …
Tworzę język, który zamierzam zastąpić zarówno JavaScript, jak i PHP. (Nie widzę w tym żadnego problemu. To nie tak, że żaden z tych języków ma dużą bazę instalacyjną.) Jedną z rzeczy, które chciałem zmienić, było przekształcenie operatora przypisania w polecenie przypisania, usuwając możliwość korzystania ze zwróconej wartości. x=1; /* Assignment. …
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.