W JavaScript mamy coś o nazwie undefined . Powiedziałem coś, ponieważ tak naprawdę nie wiem, czy jest to klasa podstawowa, wbudowana zmienna, słowo kluczowe, czy cokolwiek innego. Po prostu wiem, że tam jest. Aby zobaczyć to w akcji, możesz po prostu napisać: undefined; typeof undefined; Czy ktoś może mi wyjaśnić, …
Jest to część serii pytań, które koncentrują się na projekcie o nazwie Projekt abstrakcji, którego celem jest wyodrębnienie pojęć używanych w projektowaniu języka w formie frameworka. Kolejną związaną z tym stronę związaną z typowaniem strukturalnym można obejrzeć tutaj . Meta-temat związany z zapytaniem dotyczącym frameworka i odpowiedniego miejsca do opublikowania …
Zacząłem poważnie przyglądać się Lispowi w ten weekend (tzn. Uczyłem się tylko Lisp i nie wracam do projektów w C #) i muszę powiedzieć, że to uwielbiam. Zajmowałem się innymi językami funkcjonalnymi (F #, Haskell, Erlang), ale nie czułem remisu, który dał mi Lisp. Teraz, gdy kontynuuję naukę Lisp, zacząłem …
Dlaczego C ++ wprowadził jakiekolwiek rozróżnienie między statycznymi globałami (powiązanie wewnętrzne) a symbolami w nienazwanej przestrzeni nazw (powiązanie zewnętrzne, ale w żaden sposób nie można odwoływać się do niego z zewnątrz), wprowadzając to drugie? Czy któryś z tych powodów jest nadal aktualny, czy też są nowe? Czy są jeszcze miejsca, …
Java i C # zapewniają bezpieczeństwo pamięci, sprawdzając granice tablic i dereferencje wskaźnika. Jakie mechanizmy można zaimplementować w języku programowania, aby zapobiec możliwym warunkom wyścigowym i impasom?
Próbuję przeczytać o szczegółach implementacji Swift, a jedną rzeczą, której nie mogę dopracować, są „tabele świadków”. Wygląda na to, że są one osobnym wskaźnikiem vtable używanym dla struktur. Ale dlaczego miałbyś tego potrzebować? Struktury są kopiowane według wartości, więc wiesz już w czasie kompilacji, jakiego typu są. Czy nie po …
Kontynuacje są niezwykle przydatne w funkcjonalnych językach programowania (np. ContMonada w Haskell), ponieważ pozwalają na prosty i regularny zapis kodu w stylu rozkazującym. Są one również przydatne w niektórych starszych językach imperatywnych, ponieważ można ich użyć do implementacji brakujących funkcji językowych (np. Wyjątków, coroutines, zielonych wątków). Ale dla współczesnego języka …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 6 lat temu . Rozważ następujące: if(a == b or c) W większości języków należy to zapisać …
Obecnie implementuję ewaluator wyrażeń (wyrażenia jednowierszowe, takie jak formuły) w oparciu o: wprowadzone wyrażenie jest tokenizowane w celu oddzielenia literalnych boolanów, liczb całkowitych, dziesiętnych, ciągów, funkcji, identyfikatorów (zmiennych) Zaimplementowałem algorytm Shunting-yard (lekko zmodyfikowany do obsługi funkcji o zmiennej liczbie argumentów), aby pozbyć się nawiasów i uporządkować operatorów z przyzwoitym pierwszeństwem …
Niedawno znalazłem pojęcie programowania literackiego . Uznałem to za dość intrygujące. Jednak nie spotkałem się z twierdzeniami, że jest to zły sposób na strukturę programu. Wydaje się, że nie obejmuje wielu miejsc. Nawet tutaj nie mogłem znaleźć żadnych pytań na ten temat. Moje pytanie nie dotyczy wad i sposobów zarządzania …
Znam pojęcie ortogonalności, ale czy z punktu widzenia języka programowania istnieje sposób, aby to zweryfikować / udowodnić? Na przykład w języku C # można użyć publiclub staticdo podpisu metody. Możesz użyć jednego lub obu z nich, a one nie przeszkadzałyby sobie nawzajem, więc są do siebie prostopadłe, prawda? Moje pytanie …
Zastanawiam się nad stworzeniem języka specyficznego dla domeny, aby uprościć dany, niejasny model programowania. Część debaty dotyczy tego, czy zbudować go (jako skrypt) na istniejącym języku / środowisku wykonawczym (np. Java), czy też uczynić go samodzielnym (własny kompilator, & c). Ci z was, którzy mają doświadczenie w projektowaniu DSL, czy …
Dlaczego tak się ArrayList<Integer>[] arr=new ArrayList<Integer>[40];dzieje , gdy próbuję utworzyć tablicę ArrayLists: występuje błąd, a Java nie pozwala na to? Czy istnieje powód związany z implementacją generycznych w Javie, generycznych w dowolnym języku lub czegoś arbitralnego?
Konfiguracja: Załóżmy, że mamy typ o nazwie, Iteratorktóry ma parametr typu Element: interface Iterator<Element> {} Następnie mamy interfejs, Iterablektóry ma jedną metodę, która zwróci Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Problem z Iteratorbyciem ogólnym jest taki, że musimy dostarczyć mu …
PHP, C #, Python i prawdopodobnie kilka innych języków ma yieldsłowo kluczowe, które służy do tworzenia funkcji generatora. W PHP: http://php.net/manual/en/language.generators.syntax.php W języku Python: https://www.pythoncentral.io/python-generators-and-yield-keyword/ W języku C #: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/ke words / yield Obawiam się, że jako funkcja / funkcja językowa yieldłamie niektóre konwencje. Jednym z nich jest „pewność”. Jest …
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.