Wissen Sie, ob es eine integrierte Funktion zum Erstellen eines Wörterbuchs aus einem beliebigen Objekt gibt? Ich möchte so etwas machen: >>> class Foo: ... bar = 'hello' ... baz = 'world' ... >>> f = Foo() >>> props(f) { 'bar' : 'hello', 'baz' : 'world' } HINWEIS: Es sollten …
Wie kann ich das tun , was sie reden hier , aber in Ruby? Wie würden Sie die Funktion für ein Objekt ausführen? und wie würden Sie eine globale Funktion ausführen (siehe die Antwort von jetxee auf den genannten Beitrag)? BEISPIELCODE: event_name = "load" def load() puts "load() function was …
Von so etwas: print(get_indentation_level()) print(get_indentation_level()) print(get_indentation_level()) Ich möchte so etwas bekommen: 1 2 3 Kann sich der Code auf diese Weise selbst lesen? Ich möchte nur, dass die Ausgabe der stärker verschachtelten Teile des Codes stärker verschachtelt ist. Auf die gleiche Weise, wie dies das Lesen von Code erleichtert, würde …
Das Erstellen und Bearbeiten von Zeichenfolgen während der Kompilierungszeit in C ++ bietet mehrere nützliche Anwendungen. Obwohl es möglich ist, Zeichenfolgen zur Kompilierungszeit in C ++ zu erstellen, ist der Prozess sehr umständlich, da die Zeichenfolge als variable Zeichenfolge deklariert werden muss, z using str = sequence<'H', 'e', 'l', 'l', …
Ist es bei einem Lambda möglich, den Parametertyp und den Rückgabetyp herauszufinden? Wenn ja, wie? Grundsätzlich möchte ich, lambda_traitswelche auf folgende Arten verwendet werden kann: 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 Die Motivation dahinter ist, …
Ich weiß, wie man Getter und Setter für Eigenschaften erstellt, deren Namen man bereits kennt, indem man so etwas macht: // A trivial example: function MyObject(val){ this.count = 0; this.value = val; } MyObject.prototype = { get value(){ return this.count < 2 ? "Go away" : this._value; }, set value(val){ …
Ich versuche, einen Zeichenfolgennamen einer Klasse aus dem Klassenobjekt selbst abzurufen. // For instance [NSArray className]; // @"NSArray" Ich habe festgestellt, object_getClassName(id obj)aber dafür muss eine Instanz übergeben werden, und in meinem Fall ist das unnötige Arbeit. Wie kann ich also eine Zeichenfolge aus einem Klassenobjekt und nicht aus einer …
Ich habe einen Artikel über TheServerSide gelesen Ployglot-Programmierung auf der Java-Plattform gelesen . Einige Kommentare im Artikel beziehen sich auf Metaprogrammierung als die Fähigkeit, Code zu generieren (möglicherweise im laufenden Betrieb). Ist Metaprogrammierung die Fähigkeit, Code im laufenden Betrieb zu generieren, oder ist es die Fähigkeit, Methoden und Attribute zur …
In einem kürzlich geführten Interview wurde mir eine wirklich seltsame Frage gestellt. Der Interviewer fragte mich, wie ich 1 + 2 + 3 + ... + 1000 nur mit Compiler-Funktionen berechnen kann. Dies bedeutet, dass ich kein Programm schreiben und ausführen darf, sondern nur ein Programm schreiben sollte, das den …
Ich möchte mehr über die Meta-Programmierung von Vorlagen erfahren. Ich weiß, dass SFINAE für "Substitutionsfehler ist kein Fehler" steht. Aber kann mir jemand eine gute Verwendung für SFINAE zeigen?
Geschlossen. Diese Frage entspricht nicht den Richtlinien für Stapelüberlauf . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so dass es beim Thema für Stack - Überlauf. Geschlossen vor 3 Jahren . Verbessere diese Frage Statische Metaprogrammierung (auch als "Template-Metaprogrammierung" bezeichnet) ist eine großartige …
Pony ORM macht den netten Trick, einen Generatorausdruck in SQL zu konvertieren. Beispiel: >>> 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]] >>> Ich weiß, dass in Python eine wunderbare Selbstbeobachtung und …
Dies ist nützlich, wenn Sie versuchen, Klassenmethoden metaprogrammatisch zu erstellen: 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 Meine Antwort folgt ...
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.