metaprogramming

    0熱度

    1回答

    在Racket中,我想使用結構的字段名稱進行元編程。 例如: (struct pt [x y]) (struct-fields pt) ;; -> '(x y)

    1熱度

    2回答

    假設我們有一堆帶有典型前綴的方法。 def pref_foo # code end def pref_bar # code end 我想學習如何自動前面加上前綴那些我的方法的名字(例如它是如何在Rails中完成的:Model.find_by_smth)。 換句話說,我想創造一些範圍pref_,這需要方法,並預置pref_他們的名字,所以我的方法foo變得可作爲pre

    0熱度

    1回答

    我正在嘗試使用Scala Meta編寫註釋,以便可以從現有對象生成另一個案例類。 但是,當我嘗試這樣做: MyObject.parse[Source].show[Structure] 我得到這個錯誤: 錯誤:(5,20)沒有足夠的論據方法解析:(隱式轉換:scala.meta。 common.Convert [domain.MyObject.type,scala.meta.inputs.Inp

    3熱度

    1回答

    我正在探索使用data.table(也提供了一個dplyr示例)來包裝聚合函數(但實際上它可以是任何類型的函數)的不同方法,以及在函數式編程/元編程方面的最佳實踐不知道到 性能(不落實此事相對於該data.table可申請潛在的優化) 可讀性(有沒有共同商定的標準例如,在大多數包使用data.table) ge的易用性neralization(在那裏的方式元編程差異是「普及」) 基本應用是聚集的表

    3熱度

    2回答

    在聲明的東西上調用.WHY會返回圍繞它構建的特殊註釋。這很酷。我怎樣才能引用一個在類中定義的子程序?它總是隱藏的嗎?我很好奇提供子程序而不是類的模塊(對此,答案可能是「不要這樣做」)。我主要是玩.WHY的限制,我可以走多遠。 #| This is the outside bit sub outside { 137 } put &outside.WHY; # This works #| Cl

    0熱度

    2回答

    如果我有Foo類,帶有一些模板化函數,並且想要在其cpp文件中爲其他類型的其他類型A, B, C實例化,我目前必須寫每個其一,如果我想添加或移除一個類型,這可能會出錯,並且每次更新都會很煩人。是否有任何宏伎倆或元編程技術可以幫助? 喜歡的東西: //Foo cpp template <typename T> T Foo::add(T t0, T 01) { return t0 + t

    4熱度

    1回答

    我正在學習如何在我的Ruby代碼使用Module.prepend代替alias_method_chain,我已經注意到,有些人使用send稱呼它(example): ActionView::TemplateRenderer.send(:prepend, ActionViewTemplateRendererWithCurrentTemplate) 當別人直接調用它(example) :

    1熱度

    1回答

    我模塊 defmodule There do import Othermodule, only: [a: 1] def b do end end 我怎麼能得到的功能a & b名單?

    4熱度

    3回答

    今天我試圖創建一個具有一點特定的元組(至少對我來說)和編譯時。 我有一些基本的結構,讓說: struct Foo1 { int data; }; struct Foo2 { int data; }; struct Foo3 { int data; }; 而另一個結構,但與一些模板的東西: template < typename T, size_t Size > struct

    0熱度

    1回答

    我試圖在編譯時創建一些元組,只是一個類型和一個bitset(它們代表某些操作的類型)。 我想是這樣的: <Foo1,0x001>, <Foo2,0x002>, <Foo3,0x003>... 這就是爲什麼我有一個元數據結構: template < typename T, size_t Size > struct Metadata { using type = T;