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++中看到的元編程有什麼實際用途?