Pytania oznaczone «macros»

Makra są używane do udostępniania sekwencji instrukcji obliczeniowych programiście jako pojedynczej instrukcji programu, dzięki czemu zadanie programistyczne jest mniej żmudne i podatne na błędy. [

30
Jakie jest pochodzenie Preprocesora C?

Preprocesor C jest dołączony do C, ale ma zupełnie inną składnię niż język główny: znaczące spoczynkowo białe znaki (koniec linii kończy instrukcję, przerwa po tym, jak makro określa początek listy zastępczej) bloki oparte na słowach kluczowych zamiast wzmocnionych bloków elifzamiastelse...

27
Czy szablony C ++ są rodzajem uwielbianych makr?

Z różnych porównań szablonów C ++ i generycznych C # / Java takich jak ten - /programming/31693/what-are-the-differences-between-generics-in-c-and-java-and-templates-in-c/31929#31929 Mam wrażenie, że szablony C ++ są implementowane przez pewnego rodzaju przetwarzanie wstępne (zamiana zwykłego...

22
Jak przydatne są makra Lisp?

Common Lisp pozwala pisać makra, które wykonują dowolną transformację źródłową. Schemat zapewnia higieniczny system dopasowywania wzorów, który pozwala również przeprowadzać transformacje. Jak przydatne są makra w praktyce? Paul Graham powiedział w Beating the Averages, że: Kod źródłowy...

19
Jakie są typowe zastosowania makr Lisp?

Próbuję nauczyć się trochę LISP i dużo czytałem o znaczeniu makr LISP, więc chciałbym zdobyć trochę doświadczenia w pracy z nimi. Czy możesz zasugerować praktyczny obszar zastosowania, który pozwoliłby mi użyć makr do rozwiązania rzeczywistego problemu i zrozumienia przydatności tego konstruktu...

18
Dekoratory Python i makra Lisp

Patrząc na dekoratorów Pythona, ktoś stwierdził, że są tak potężni jak makra Lisp (szczególnie Clojure). Patrząc na przykłady podane w PEP 318 , wydaje mi się, że są one po prostu fantazyjnym sposobem użycia zwykłych starych funkcji wyższego rzędu w Lisp: def attrs(**kwds): def decorate(f): for...

11
Tkanie kodu bajtowego vs. makra Lisp

Czytałem o bibliotekach napisanych przez ludzi dla języków takich jak Java i C #, które wykorzystują tkanie kodu bajtowego do robienia rzeczy takich jak przechwytywanie wywołań funkcji, wstawianie kodu rejestrującego itp. Czytałem również o makrach Lisp / Clojure w spróbuj lepiej zrozumieć, jak z...