作者: 機械伯爵
日時: 2009/5/7(19:46)
TclTk

■ループ版
% while {$x > 1} {
set y [expr $y * $x]
incr x -1}
% puts $y
3628800
%
コメント:exprと$が面倒だが、基本的にシンプルなループ


■再帰版
% proc fact {x} {
if { $x > 1} { return [expr $x * [fact [expr $x - 1]]]
} else { return 1}}
% fact 10
3628800
%

コメント:なんとかもう少し、exprを省略して書く方法は無いのだろうか

/機械伯爵/私ではコレが限界です……/