metaclass

    1熱度

    1回答

    我在我的Grails插件中使用了幾個類別。例如, class Foo { static foo(ClassA a,Object someArg) { ... } static bar(ClassB b,Object... someArgs) { ... } } 我在尋找添加這些方法來元類,這樣我就不必使用分類等級,並且可以只調用它們作爲實例方法的最佳途徑。例如, aIns

    1熱度

    2回答

    使用Moose::Meta::Class->create創建元類後,如何將該類實例化爲一個真實的Moose類作爲元類? (我還需要創建元類,因爲我也想了一些角色適用於它。)

    1熱度

    3回答

    爲了將各種類的方法放入全局註冊表中,我使用了一個帶有元類的裝飾器。裝飾器標籤,元類將函數放入註冊表中: class ExposedMethod (object): def __init__(self, decoratedFunction): self._decoratedFunction = decoratedFunction def __call__(__sel

    6熱度

    2回答

    我已經開始學習Groovy和我目前正在研究的元類的功能。我已經看到了添加新方法和刪除所有方法的示例,但沒有提到刪除單個方法。例如: String.metaClass.foo = {delegate.toUpperCase()} String.metaClass.bar = {delegate.toLowerCase()} 具有明顯的副作用。現在我已經看到,你可以說 String.metaCl

    4熱度

    1回答

    Groovy adds each()和一些其他的java.lang.Object方法。我無法弄清楚如何使用Groovy元類來動態替換Java類中的默認each()。 我可以看到如何添加新的方法: MyJavaClass.metaClass.myNewMethod = { closure -> /* custom logic */ } new MyJavaClass().myNewMethod {

    6熱度

    3回答

    我在元類中找到了很多鏈接,其中大多數提到它們對於實現工廠方法很有用。你能給我看一個使用元類來實現設計模式的例子嗎?

    14熱度

    2回答

    我被卡住了。我試圖動態地定義一個類方法,我無法將我的頭圍繞在ruby元類模型上。考慮以下類: class Example def self.meta; (class << self; self; end); end def self.class_instance; self; end end Example.class_instance.class # => Cla

    19熱度

    1回答

    我們需要創建SQLAlchemy類來訪問隨着時間的推移會增加的多個外部數據源。我們對我們的核心ORM模型使用聲明性基礎,我知道我們可以使用autoload = True手動指定新的ORM類來自動生成映射。 的問題是,我們需要能夠產生動態他們採取這樣的事情: from sqlalchemy.ext.declarative import declarative_base Base = declara

    3熱度

    2回答

    已經尋找一種方式來強制執行自定義類型的不變性,而不是自定義類型的不可改變的Python元類已經發現我用我自己的射擊在一個解決方案中的一個元類的形式提出了一份滿意的答卷: class ImmutableTypeException(Exception): pass class Immutable(type): ''' Enforce some aspects of the im

    7熱度

    5回答

    像this question,但我希望能有返回對象的混合體的查詢集: >>> Product.objects.all() [<SimpleProduct: ...>, <OtherProduct: ...>, <BlueProduct: ...>, ...] 我想通了,我不能只設置Product.Meta.abstract爲真或者以其他方式將或不同對象的查詢集合在一起。好,但這些都是普通類的