TclでFizzBuzz
30分プログラム、その241。TclでFizzBuzzを。
初心者入門といったらFizzBuzzでしょう、ということで書いてみた。
GUIの配置でかなり苦労した。ああ、Tkのリファレンスが欲しい。
小さいフレームをつくって、その中にWidgetを配置して、そのフレームを積み重ねてウインドウ全体を構成すればいいみたい。Javaでも似たことをよくやるけど、もしかして一般的な技法なのかな?
使い方
$ wish fizzbuzz.tcl
ソースコード
#!/usr/bin/wish wm title . "GUI FizzBuzz" button .fizzbuzz -text {FizzBuzz} -command { for {set i 1} {$i <= 100} {incr i} { if {[expr $i % 15] == 0} { .fm.result insert end "fizzbuzz\n" } elseif {[expr $i % 3] == 0} { .fm.result insert end "fizz\n" } elseif {[expr $i % 5] == 0} { .fm.result insert end "buzz\n" } else { .fm.result insert end "$i\n" } } } frame .fm text .fm.result -width 70 -height 40 -yscrollcommand ".fm.scroll set" scrollbar .fm.scroll -command ".fm.result yview" pack .fm.scroll .fm.result -side right -fill y -expand yes pack .fizzbuzz .fm