Savez-vous s'il existe une fonction intégrée pour créer un dictionnaire à partir d'un objet arbitraire? Je voudrais faire quelque chose comme ça: >>> class Foo: ... bar = 'hello' ... baz = 'world' ... >>> f = Foo() >>> props(f) { 'bar' : 'hello', 'baz' : 'world' } REMARQUE: il …
Comment puis-je faire ce dont ils parlent ici , mais en Ruby? Comment feriez-vous la fonction sur un objet? et comment feriez-vous une fonction globale (voir la réponse de jetxee sur le post mentionné)? EXEMPLE DE CODE: event_name = "load" def load() puts "load() function was executed." end def row_changed() …
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 …
Être capable de créer et de manipuler des chaînes pendant la compilation en C ++ a plusieurs applications utiles. Bien qu'il soit possible de créer des chaînes de compilation en C ++, le processus est très lourd, car la chaîne doit être déclarée comme une séquence variadique de caractères, par …
É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 …
Je sais comment créer des getters et des setters pour des propriétés dont on connaît déjà les noms, en faisant quelque chose comme ceci: // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get value(){ return this.count < 2 ? "Go away" : …
J'essaie d'obtenir un nom de chaîne d'une classe à partir de l'objet de classe lui-même. // For instance [NSArray className]; // @"NSArray" J'ai trouvé object_getClassName(id obj)mais cela nécessite qu'une instance lui soit transmise, et dans mon cas, c'est un travail inutile. Alors, comment puis-je obtenir une chaîne à partir d'un …
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 …
Dans une interview récente, on m'a posé une question vraiment étrange. L'intervieweur m'a demandé comment puis-je calculer 1 + 2 + 3 + ... + 1000 simplement en utilisant les fonctionnalités du compilateur. Cela signifie que je ne suis pas autorisé à écrire un programme et à l'exécuter, mais je …
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?
Fermé. Cette question ne respecte pas les directives de Stack Overflow . Il n'accepte pas les réponses actuellement. Vous souhaitez améliorer cette question? Mettez à jour la question pour qu'elle pertinente pour Stack Overflow. Fermé il y a 3 ans . Améliorez cette question La métaprogrammation statique (alias «métaprogrammation de …
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 …
Ceci est utile si vous essayez de créer des méthodes de classe de manière métaprogrammée: def self.create_methods(method_name) # To create instance methods: define_method method_name do ... end # To create class methods that refer to the args on create_methods: ??? end Ma réponse à suivre ...
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.