ビットウォークの高橋です。
何回も同じようなスクリプトを投稿してすみません。たぶんこれが最後です。
Tcl/Tk8.1以上では次のように記述することも出来ます。自分自身は通常のコー
ディングにおいて、ここまで日本語名を多用しませんが、やろうと思えばここま
でできる、という参考にと紹介しました。使い方は[TSabc: 58]と同じです。
--- ここから ---
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"
# 加算処理
# 「数1 = 数1 + 数2」を計算する。
# Tclでは全てコマンドとして処理されるので
# +=のような代入演算子がありません。
proc 加算処理 {数1 数2} {
if {[catch {set 数1 [expr ${数1} + ${数2}]} エラー]} {
puts ${エラー}
}
return ${数1}
}
#-------
# メイン
# ------
# 初期値
set 合計 0
# コマンド引数の読み込み
if {$argc} {
foreach 引数 $argv {
set 合計 [加算処理 ${合計} ${引数}]
}
}
# 0が入力されるまでループ
while {[set 入力値 [gets stdin]] != 0} {
set 合計 [加算処理 ${合計} ${入力値}]
}
# 合計を出力
puts "合計:${合計}"
exit
--- ここまで ---
--
Keiichi Takahashi, bitWalk Co.,Ltd.
mailto:bitwalk@...
http://members10.tsukaeru.net/bitwalk/