機械す。
> #for版(Tclでは一番シンプル?)
> for {set n 10; set fn 1} {$n > 1} {incr n -1} {puts [set fn [expr $fn*$n]]}
カウンタ式のforを、時々忘れます(爆)
※無理しないと、foreachっぽいのしか、思いつかない。
こういう処理には便利ですよね。
> #exprを無理矢理w減らした再帰関数版
> proc fact {n} {
> if {[incr n -1] < 1} then {return 1}
> return [expr ($n+1)*[fact $n]]
> }
> puts [fact 10]
あ、そっか、逆にすればいいのか。
exprが必要なTclならではのテク(苦労?)ですねぇ☆
> #for+join版(前半がおデブちゃんですが…)
> for {set n 10} {$n > 1} {incr n -1} {puts [lappend list $n]}
> puts [expr [join $list *]]
そうそう、こういうTclっぽい文字処理式を書きたかったんですけど、
頭に浮かばなかったんですよね。
> 専らTclユーザーです。ぼんやりしてる間に後塵を拝してしまいましたw。
> 素人プログラムなのであんまりスマートなの出てきませんが、せっかくなので投稿。
私だって『どしろーと』ですもん。
情熱です情熱☆
言語比較って、ネガティブにやるとつまらないんですけど、お祭り式に「この言語
ではこう書けるんだぜ」っぽいのは、楽しいんじゃないかと思います。
こういうの見てると、他言語とか、やってみたいなぁ、とか思いますしね。
/機械伯爵/……でも勉強してるヒマが無い(泣)/