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