本を読む

読書やコンピュータなどに関するメモ

続・どう書く?org:制限時間内のキー入力検査

 「どう書く?org:制限時間内のキー入力検査」の続き。

 「ゲームで極める シェルスクリプトスーパーテクニック」を読んで、bashのSECONDS変数を知った。なんだ、もっと簡単に書けるんじゃん。さっそく書き直してみる。

#!/bin/bash

function InputChecker(){
    local timeout=$1
    local str=$2

    echo -n "input($str) =>"
    read -n1 c
    t1=$SECONDS
    read s
    t=$(( $SECONDS - $t1 ))

    echo -n 'result => '
    if (( $t >= $timeout )) ; then
        echo 'TIME OUT'
    elif [ "$c$s" == "$str" ] ; then
        echo 'OK'
    else
        echo 'NG'
    fi
}

InputChecker $1 $2
InputChecker $1 $2
InputChecker $1 $2

 余談。いままで、どう書く?orgのネタをわざわざブログで書いてきたのは、斜め上な回答を狙っていたから。が、どう書く?orgをやってる西尾さんによると、多彩なレシピを集めるのが目的だとか。その志をくんで、しょぼくてもちゃんと投稿したほうがいいかなぁ。

追記2008-08-19:
とかえらそうなこと書いたわりに、いまごろどう書く?.orgに投稿

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/313-95ffdf2f

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad