Sai se esiste una funzione integrata per creare un dizionario da un oggetto arbitrario? Mi piacerebbe fare qualcosa del genere: >>> class Foo: ... bar = 'hello' ... baz = 'world' ... >>> f = Foo() >>> props(f) { 'bar' : 'hello', 'baz' : 'world' } NOTA: non dovrebbe includere …
Come posso fare quello di cui stanno parlando qui , ma in Ruby? Come faresti la funzione su un oggetto? e come faresti una funzione globale (vedi la risposta di jetxee sul post citato)? CODICE DI ESEMPIO: event_name = "load" def load() puts "load() function was executed." end def row_changed() …
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 …
Essere in grado di creare e manipolare stringhe durante la compilazione in C ++ ha diverse utili applicazioni. Sebbene sia possibile creare stringhe in fase di compilazione in C ++, il processo è molto complicato, poiché la stringa deve essere dichiarata come una sequenza variadica di caratteri, ad es. using …
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 …
Sono a conoscenza di come creare getter e setter per proprietà i cui nomi si conoscono già, facendo qualcosa del genere: // 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 …
Sto cercando di ottenere un nome stringa di una classe dall'oggetto classe stesso. // For instance [NSArray className]; // @"NSArray" Ho trovato object_getClassName(id obj)ma ciò richiede che venga passata un'istanza, e nel mio caso si tratta di un lavoro inutile. Quindi, come posso ottenere una stringa da un oggetto di …
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 …
In una recente intervista, mi è stata posta una domanda davvero strana. L'intervistatore mi ha chiesto come posso calcolare 1 + 2 + 3 + ... + 1000 usando solo le funzionalità del compilatore. Ciò significa che non sono autorizzato a scrivere un programma ed eseguirlo, ma dovrei semplicemente scrivere …
Voglio entrare in più meta-programmazione dei modelli. So che SFINAE sta per "il fallimento della sostituzione non è un errore". Ma qualcuno può mostrarmi un buon uso di SFINAE?
Chiuso. Questa domanda non soddisfa le linee guida di Stack Overflow . Attualmente non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Stack Overflow. Chiuso 3 anni fa . Migliora questa domanda La metaprogrammazione statica (nota anche come "metaprogrammazione dei modelli") è …
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 …
Questo è utile se stai cercando di creare metodi di classe metaprogrammaticamente: 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 La mia risposta da seguire ...
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.