Domande taggate «metaprogramming»

La metaprogrammazione è la capacità di riprogrammare i propri ambienti di programmazione, come con le macro o le metaclassi.





5
Una riga di codice Python può conoscere il suo livello di annidamento del rientro?
Da qualcosa del genere: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) Vorrei ottenere qualcosa del genere: 1 2 3 Il codice può leggere se stesso in questo modo? Tutto quello che voglio è che l'output delle parti più nidificate del codice sia più nidificato. Allo stesso modo in cui ciò semplifica la lettura del …


4
È possibile capire il tipo di parametro e il tipo di ritorno di un lambda?
Dato un lambda, è possibile capire il tipo di parametro e il tipo restituito? Se si, come? Fondamentalmente, voglio lambda_traitsche può essere utilizzato nei seguenti modi: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long La motivazione dietro …



7
Cos'è esattamente la metaprogrammazione?
Stavo leggendo un articolo su TheServerSide sulla programmazione ployglot sulla piattaforma Java . Alcuni commenti nell'articolo si riferiscono alla metaprogrammazione come alla capacità di generare codice (forse al volo). Sta metaprogrammando la capacità di generare codice al volo o è la capacità di iniettare metodi e attributi in oggetti esistenti …




1
Come Pony (ORM) fa i suoi trucchi?
Pony ORM fa il bel trucco di convertire un'espressione del generatore in SQL. Esempio: >>> select(p for p in Person if p.name.startswith('Paul')) .order_by(Person.name)[:2] SELECT "p"."id", "p"."name", "p"."age" FROM "Person" "p" WHERE "p"."name" LIKE "Paul%" ORDER BY "p"."name" LIMIT 2 [Person[3], Person[1]] >>> So che Python ha una meravigliosa introspezione e …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.