Compile-time calculation: Difference between revisions

m
(Added EchoLisp)
Line 563:
 
<lang Oforth>10 seq reduce(#*) Constant new: FACT10
func: newFunction { FACT10 println. };</lang>
 
You can also calculate all factorials for 1 to 20 before defining fact method :
<lang Oforth>20 seq map(#[ seq reduce(#*) ]) Constant new: ALLFACTS
func: fact(n) { n ifZero: [ 1 ] else: [ ALLFACTS at(n) ] };
 
ALLFACTS println</lang>
1,015

edits