标签: metaprogramming

如何下载 MQL4 IDE 和编辑器?

各位。我是 MQL4 (Metaquotes Languages 4.0) 的新手。我真的很想下载这种语言的 IDE 和编程工具,但我不能。我无法下载这个,因为我找不到任何下载链接。

如果你知道这件事,请告诉我。

非常感谢。

平阮

metaprogramming metatrader4

0
推荐指数
1
解决办法
4455
查看次数

在 C++ 中提取和操作模板参数

我正在尝试实现一个可以返回其模板参数总和的模板。模板参数的数量各不相同,因此我想制作一个接受参数包的可变参数模板。我能够制作一个可以执行以下操作的函数模板:

Sum(1,2,3)
Run Code Online (Sandbox Code Playgroud)

但我也希望能够执行以下操作:

Sum<1,2,3>())
Run Code Online (Sandbox Code Playgroud)

有人可以解释我如何提取这些模板参数并将这些参数的总和存储在结构之类的东西中吗?

已经谢谢了!

c++ metaprogramming

0
推荐指数
1
解决办法
366
查看次数

Ruby 中的 attr_accessor 和元编程

嗨,我想通过一些配置文件动态地初始化 ruby​​ 对象实例的属性,我可以使用以下代码快速完成:

class ApiTester

  def initialize(path= "api_test")
    h = eval(File.open("#{path}/config.hash","r").read)
    h.each do |k,v|
      eval("@#{k}=#{v.class == String ? "\"#{v}\"" :  v }" )
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

如何为属性“@#{k}”提供属性 attr_accessor?

ruby metaprogramming attr-accessor

0
推荐指数
1
解决办法
778
查看次数

将私有或受保护的方法转换为公共方法

可以使用调用私有方法,send但是有没有办法以某种方式对类进行猴子修补以常规方式调用它?

ruby metaprogramming

0
推荐指数
1
解决办法
1284
查看次数

JavaScript类构造函数 - 构造函数是否被称为父级?

如果我创建了以下类,那么在Class1中是否有任何方法可以检测实例何时实际是Class2之一,而不知道有关Class2的任何内容?

也就是Class1可以告诉它什么时候是父类被扩展?

class Class1 {
  constructor() {
    // Code to detect whether parent here
  }
}

class Class2 extends Class1 {
  constructor() {
    super();
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript metaprogramming class ecmascript-6

0
推荐指数
1
解决办法
42
查看次数

如何获取Ruby中使用的方法的列表?

嘿,我希望我的方法logify将每个方法及其参数以及类A的返回值放入。例如,我编写了一个简单的类A,其中包含两个方法add和sub,并且输出应如下所示:

Output:
Method add(1, 2) called 
return value 3
Method sub(1, 2) called
return value -1
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用每种方法,self.instance_methods(false)但是有人可以进一步帮助我吗?

require_relative "log"

class A
    extend Log

    def add(a, b)
      a + b
    end

    def sub(a, b)
      a - b
    end
    logify
  end

    a = A.new
    a.add(2,1)
    a.sub(2,1)
Run Code Online (Sandbox Code Playgroud)
module Log 
   def logify 
   puts self.instance_methods(false)
   end
end
Run Code Online (Sandbox Code Playgroud)

ruby module metaprogramming

0
推荐指数
1
解决办法
69
查看次数

对可变参数模板使用const参数

我对以下可变参数有两个疑问:

#include <iostream>

template <typename T>
T Add(const T& arg_a)
{
    return arg_a;
}

template <typename T, typename... Pack>
T Add(const T& arg_a, const Pack&... arg_list)
{
    return arg_a + Add(arg_list...);
}

int main(int argc, const char* argv[])
{

    auto itLocalSum = Add(1, 2, 3, 4, 5);
    std::cout << "Sum of Add: " << itLocalSum << "\n";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)
  1. 为什么使用const引用作为参数?
  2. 当我将浮点数与整数结合使用时,add(2.3, 43, 32.2)它对我来说显示不正确的值。我该如何解决?

c++ templates metaprogramming template-meta-programming variadic-templates

0
推荐指数
1
解决办法
103
查看次数

挂钩Python中的每个函数调用

我有一个大型代码库,其中包含数千个功能。

我想在每个函数调用之前和之后,函数启动时和结束时启用代码执行。

有没有一种方法无需重新编译Python或向每个函数添加代码?有没有办法钩住代码中的每个函数调用?

python hook metaprogramming python-3.x

0
推荐指数
1
解决办法
68
查看次数

编译时计算的存在会使编译器陷入无限循环

是否存在这种编译时计算可以使编译器陷入无限循环?

无限循环不会消耗不断增加的内存吗?或者它可能会因缺乏内存而停止。

c++ metaprogramming compile-time template-meta-programming

0
推荐指数
1
解决办法
41
查看次数

获取作为类型参数传递的文字类型的值

我正在尝试编写一个宏,它返回作为类型参数传递的文字类型的值,如果参数不是文字类型,则无法编译。这里有些例子:

def literalValue[SC <: String] = //...

literalValue["AB"] // returns "AB"
literalValue["C"] // returns "C"
literalValue[String] // compile error
Run Code Online (Sandbox Code Playgroud)

所以我从常规的宏样板开始,遇到了以下问题:

def implStringLiteral[SC <: String: c.WeakTypeTag](c: blackbox.Context): c.Expr[SC] = {
  import c.universe._
  val symbol = weakTypeOf[SC].typeSymbol //It is String
  //...
}
Run Code Online (Sandbox Code Playgroud)

看起来文字类型本身是作为常规传递的String,因此无法通过其 获得精确的类型信息WeakTypeTag

有什么解决方法可以解决这个问题吗?

scala metaprogramming scala-macros

0
推荐指数
1
解决办法
295
查看次数