Questions marquées «metaprogramming»

La métaprogrammation est la capacité de reprogrammer son environnement de programmation, comme avec les macros ou les métaclasses.





5
Une ligne de code Python peut-elle connaître son niveau d'imbrication d'indentation?
De quelque chose comme ça: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) J'aimerais obtenir quelque chose comme ceci: 1 2 3 Le code peut-il se lire de cette manière? Tout ce que je veux, c'est que la sortie des parties les plus imbriquées du code soit plus imbriquée. De la même manière que cela …


4
Est-il possible de déterminer le type de paramètre et le type de retour d'un lambda?
Étant donné un lambda, est-il possible de déterminer son type de paramètre et son type de retour? Si oui, comment? Fondamentalement, je veux lambda_traitsce qui peut être utilisé des manières suivantes: 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 …



7
Qu'est-ce que la métaprogrammation exactement?
Je lisais un article sur TheServerSide sur la programmation ployglot sur la plateforme Java . Certains commentaires dans l'article font référence à la métaprogrammation comme étant la capacité de générer du code (peut-être à la volée). La métaprogrammation a-t-elle la capacité de générer du code à la volée ou est-ce …


9
Exemples C ++ SFINAE?
Je veux entrer dans plus de méta-programmation de modèles. Je sais que SFINAE signifie «l'échec de la substitution n'est pas une erreur». Mais quelqu'un peut-il me montrer une bonne utilisation de SFINAE?


1
Comment Pony (ORM) fait-il ses tours?
Pony ORM fait le bon truc de convertir une expression de générateur en SQL. Exemple: >>> 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]] >>> Je sais que Python a une introspection …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.