Fondamentalement, au lieu de cela:Est-il possible de changer les dictons locaux?
context1.a
context1.b()
context2.a
context2.b()
Je veux écrire:
with context1():
a
b()
with context2():
a
b()
Idéalement je referais ce en déconnectant les « locaux dictionnaire » avec un objet avec une coutume __get__
, mais je Je ne sais pas comment faire cela ou si c'est même possible. Pourquoi ?: J'ai implémenté une sorte de répartition des prédicats (pour le fun), mais je ne peux utiliser qu'en nommant explicitement le contexte à chaque fois: context.a() + context.b()
est ennuyeux d'écrire tout le temps.
Je pense vraiment que vous essayez de résoudre un problème de la manière la plus difficile possible. Pourquoi ne pouvez-vous pas simplement créer une fonction qui les appelle comme nécessaire? –
Est-ce censé être comme Javascript 'with'? Ce n'est même pas une bonne idée en Javascript; c'est obsolète, et interdit en mode strict. – user2357112