metaprogramming

    0熱度

    3回答

    在Java和Scala,我將如何做到以下幾點: 我希望能夠給一個函數傳遞到一個函數作爲參數,其中函數參數有所不同。例如,這就是我鎖定在現在的Java: public void doSomething(Object object, Action1<Object> function) { function.call(object); } public void doOtherThing

    1熱度

    2回答

    有沒有辦法檢查函數是否在Julia中有關鍵字參數?我正在尋找類似has_kwargs(fun::Function)的東西,如果fun有一個帶關鍵字參數的方法,它會返回true。 高水平的想法是建立一個功能: function master_fun(foo::Any, fun::Function, ar::Tuple, kw::Tuple) if has_kwargs(fun)

    7熱度

    2回答

    在Python中dir()返回當前本地作用域中的名稱列表。 __doc__返回對象的完整文檔字符串。 如何列出當前本地作用域中的所有名稱並打印每個項目文檔字符串的第一行? 詳細說明:對於import numpy as np我想獲得dir(np)返回的所有名稱的簡短描述列表,例如, print(np.nonzero.__doc__.split('.', 1)[0])。 我該怎麼做?

    0熱度

    2回答

    我有一個子模型,它應該能夠通過ActiveRecord :: Store功能存儲不同的屬性。這些屬性應該由父模型確定。爲此,父模型具有列content_attributes,其將兒童屬性存儲爲字符串數組(即['color', 'size', 'age'])。 要在由父定義的所有屬性的子實例存取,我目前使用它映射所有屬性的所有可用父母的姓名解決方法: class child belongs

    1熱度

    3回答

    我最近偶然發現了Python中的元類,並決定使用它們來簡化某些功能。 (使用Python 3.5) 簡而言之,我正在編寫一個模塊來定義類,例如必須註冊和初始化的「組件」類(我的意思是我需要初始化實際的類,而不是實例)。 我可以很容易地註冊類: class MetaComponent(type): def __init__(cls, *args, **kargs): super

    3熱度

    1回答

    我目前在C++ 11中實現了std::invoke(即理解和修改libC++/libstdC++代碼),並且我偶然發現了一個與noexcept相關的問題。 這可以用下面的代碼片段來說明: #include <functional> void nothrow_method(int, int) noexcept { } int main(int argc, char const *argv

    2熱度

    1回答

    出於好奇,並且瞭解了一些關於Crystal的一般結構的信息,我一直在尋找一些反射特性,以便更好地理解繼承鏈是如何構建的。 我在想像ruby的superclass,ancestors或included_modules方法。 有沒有類似Crystal語言的東西? 此外,有一些圖表可以讓我看到大圖。

    5熱度

    1回答

    我需要驗證一個常量是否被定義爲執行條件。 我想這一點,但「規定」的方法不存在於這個語言: if defined(constant) value = :foo else value = :bar end

    0熱度

    1回答

    我試圖向自己證明我可以重新定義Python語言的語法。基本上,元編程的一個方面。但我正在努力改寫內置object類的行爲。 我試圖改變一個對象沒有特定屬性時產生AttributeError的行爲。相反,我試圖通過在案例中返回None來強制Python表現得像JavaScript一樣。這是試圖更好地理解Python內置插件的練習,而不是真正的實際問題。 我曾經修改過它,我無法再創建對象。下面是我修改

    1熱度

    1回答

    當我遇到SFINAE的示例代碼時,我正在學習一些C++習慣用法,我對代碼感到困惑。 說明:is_ptr()沒有定義。 我自己編譯代碼,沒有關於函數定義不足的編譯器錯誤,爲什麼? sizeof()被用在其中一個調用上,它顯然是在函數的返回值上執行的,但是再次沒有定義。這怎麼可能? template <typename T> struct is_pointer { template <t