metaprogramming

    104热度

    8回答

    静态元编程(又名“模板元编程”)是一种很棒的C++技术,它允许在编译时执行程序。一个灯泡,当我读到这个规范的元编程例子在我的头上,一旦去了: #include <iostream> using namespace std; template< int n > struct factorial { enum { ret = factorial< n - 1 >::ret * n }; };

    3热度

    2回答

    我想通过从“测试驱动开发:通过示例”编写Kent Beck的xUnit Python示例来改进我的Ruby。我有相当远的距离,但现在当我跑步的时候,我得到了下面的错误,我不理睬。 C:\Documents and Settings\aharmel\My Documents\My Workspace\TDD_Book\TDDBook_xUnit_RubyVersion\lib\main.rb:21:

    23热度

    3回答

    在Ruby: for i in A do # some code end 是一样的: A.each do |i| # some code end for不是核方法: 到底是“for什么“在红宝石 有没有办法使用其他关键字做类似的事情? 是这样的: total = sum i in I {x[i]} 映射到: total = I.sum {|i] x[i]}

    63热度

    3回答

    作为编程练习,我编写了一个创建类的Ruby片段,实例化该类中的两个对象,monkeypatches一个对象,并依靠method_missing来修改另一个对象。 这是交易。这按预期工作: class Monkey def chatter puts "I am a chattering monkey!" end def method_missing(m)

    5热度

    1回答

    我一直在寻找在Ruby日志库Logging.logger方法,并有从source at github有关这段代码的一个问题: logger = ::Logging::Logger.new(name) logger.add_appenders appender logger.additive = false class << logger def close

    1热度

    2回答

    定义操作我正在寻找移动我的一些较轻的重量从Nemerle元编程来嘘,我试图找出如何定义运营商定制。例如,我可以做Nemerle如下: macro @<-(func, v) { <[ $func($v) ]> } 那么这两个是相同的: foo <- 5; foo(5); 我找不到嘘这样做的方式 - 任何想法?

    155热度

    5回答

    $0是顶级Ruby程序的变量,但是当前方法是否有一个变量?

    3热度

    2回答

    假设我需要一些非常特殊的乘法运算符。它可以在下面的宏来实现: macro @<<!(op1, op2) { <[ ($op1 * $op2) ]> } 我可以使用它像 def val = 2 <<! 3 及其工作。 但我真正想要的是一些“为DSL林正在开发english'般操作: macro @multiply(op1, op2) { <[ ($op1 * $op

    31热度

    11回答

    特别是,是否有可能让的代码与编译时在c#中执行的这个C++代码类似? template <int N> struct Factorial { enum { value = N * Factorial<N - 1>::value }; }; template <> struct Factorial<0> { enum { value = 1 }; }; //

    13热度

    10回答

    这个问题的存在是因为它具有 历史意义,但它不是 考虑好,切合主题的问题 这个网站,所以请不要使用它 作为证据,你可以在这里问类似 问题。 更多信息:https://stackoverflow.com/faq 什么是你在C++中看到元编程的最酷的例子吗? 您在C++中看到的元编程有什么实际用途?