作者: Keiichi Takahashi
日時: 2002/4/10(15:16)
ビットウォークの高橋です。

何回も同じようなスクリプトを投稿してすみません。たぶんこれが最後です。

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/