# File rparsec/functors.rb, line 147 def power(n, &block) return const(nil) if n<=0 return block if n==1 proc do |*args| result = block.call(*args) (n-1).times {result = block.call(result)} result end end