-
0 votesanswersviews
Groovy动态对象 - 如何正确重置属性?
基于this question我创建了一个具有动态属性的Groovy类 . class MyDynamic { def propertyMissing( String name, value ) { this.metaClass."$name" = value value } } 到目前为止一切都很好,现在我可以成功设置一些不存在的属性 MyDynam... -
0 votesanswersviews
烧瓶优雅和peewee,元类冲突错误
我正在尝试让我的用户类同时使用BaseModel和FlaskView . 这导致元类冲突错误,我无法解决它 . 我试图解决问题的事情:这不起作用,因为来自noconflict导入类制造商 . 这个例子是从2003年6月开始的 . 也许它太旧了?我在python 2.7.3上运行 .http://code.activestate.com/recipes/204197-solving-the-meta... -
0 votesanswersviews
Groovy方法拦截所有子类型
我想拦截脚本及其任何子类型的所有方法调用,最好使用MetaClasses,但如果需要,我可以从Groovy中完成 . 我基本上想做这样的事情: MetaClassImpl meta = new MetaClassImpl(Script.class) { @Override public final Object invokeMethod(Object obj, String met... -
4 votesanswersviews
Groovy:在调用任何方法之前和之后,执行代码是透明的
假设我们有一个带有一些方法(静态或非静态)的groovy类 . 我想要做的是在调用此类的每个方法之前和之后执行一些代码,而根本不需要触及类,也不需要动态操作每个方法内部的代码 . 我尝试使用groovy metaClass;获取metaClass的所有方法,然后使用包装方法动态替换every方法,包含一些代码,并在中间调用旧方法 . 问题是,我不知道每个原始方法的参数,所以我不能用新方法(闭包)替... -
637 votesanswersviews
在Python中创建单例
这个问题不是讨论singleton design pattern是否可取,是反模式,还是任何宗教战争,而是讨论如何以最pythonic的方式在Python中最好地实现这种模式 . 在这个例子中,我定义'most pythonic'意味着它遵循'principle of least astonishment' . 我有多个类可以成为单例(我的用例是 Logger ,但这并不重要) . 当我可以简单地... -
763 votesanswersviews
在Ruby中的类<< self idiom
class << self 在Ruby中做了什么? -
6 votesanswersviews
可以't use an inheriting Django model'的Meta类来配置继承的抽象模型中定义的字段
我想使用继承模型的Meta类中的属性来配置在继承树之上的抽象模型中定义的字段: class NamedModel(models.Model): class Meta: abstract = True verbose_name = 'object' name = models.CharField("Name", m... -
15 votesanswersviews
避免跨不同的Groovy脚本共享Java元类
我的情况 我从Java调用多个Groovy脚本,它们都包含长期存在的Groovy对象 . 我希望我的Groovy脚本能够对Java类(具有大约100个实例)的Java元类进行一些更改 . 但是,脚本应该能够进行不同的更改,其中一个脚本中的更改不应该反映在其他脚本中 . 问题:Java类的元类在所有脚本中共享 . 这个问题与How do I undo meta class changes after... -
0 votesanswersviews
无法使用GroovyClassLoader动态更改或添加类中的方法
我尝试动态更改并添加一个groovy脚本中定义的类的方法来自另一个groovy脚本,但如果我直接在.metaClass中使用classname,则无法弄清楚它为什么有效 . 但是如果我使用GroovyClassLoader加载类(我需要这样做)! 我有一个文件'MyTest.groovy' class MyTest { public void setUp() { println... -
4 votesanswersviews
在Java中使用Groovy向类添加方法
我正在研究一个使用Groovy作为编译时依赖项的Java模块,我想在不编写Groovy代码的情况下向我的Java类 Person (如Groovy JDK)添加一个方法 . 在Groovy中,我会像那样实现它 Person.meta.doSomething = { String param -> println "do something: ${param}" } 如何... -
3 votesanswersviews
Common Lisp Multiple Metaclasses
在最近发现weblocks的活动分支之后,我想将它与ORM库mito结合起来 . Weblocks定义了一个宏 defwidget ,它在实践中包含 defclass ,如下所示: (defclass my-class () ((slot)) (:metaclass weblocks/widgets/mop:widgets-class)) 同时美图的工作原理如下: (defclass m... -
4827 votesanswersviews
什么是Python中的元类?
什么是元类,我们用它们做什么? -
3 votesanswersviews
Flask SQLAlchemy - 用于修改列设置器的自定义元类(dynamic hybrid_property)
我有一个使用SQLAlchemy的现有工作Flask应用程序 . 这个应用程序中的几个模型/表具有存储原始HTML的列,我想在列的setter上注入一个函数,以便传入的原始html被“清理” . 我想在模型中这样做,所以我不必通过表单或路由代码来“清理这些数据” . 我现在可以这样做了: from application import db, clean_the_data from sqlalch... -
56 votesanswersviews
元类多重继承不一致
为什么是这样: class MyType(type): def __init__(cls, name, bases, attrs): print 'created', cls class MyMixin: __metaclass__ = MyType class MyList(list, MyMixin): pass 好的,按预期工作: created <c...