静态元编程(又名“模板元编程”)是一种很棒的C++技术,它允许在编译时执行程序。一个灯泡,当我读到这个规范的元编程例子在我的头上,一旦去了: #include <iostream>
using namespace std;
template< int n >
struct factorial { enum { ret = factorial< n - 1 >::ret * n }; };
在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]}
作为编程练习,我编写了一个创建类的Ruby片段,实例化该类中的两个对象,monkeypatches一个对象,并依靠method_missing来修改另一个对象。 这是交易。这按预期工作: class Monkey
def chatter
puts "I am a chattering monkey!"
end
def method_missing(m)