一行野郎4

--------------------- [番外4] 一行野郎(時間計算) --------------------------


はじまり、はじまり~。


<ちょっとアンタ! 最近一行スクリプト投稿していないでしょ!!>
いきなりなんだよ。

<後出し、ダンマリ、不投稿・・・この変態!!>
おいおい。
<アンタ結構書けるんだから、たまには社会奉仕しなさいよ!>
とかいって、点数稼ぎ?

<チッ、バレタか。>
オイっ!

<アンタ見てると、常識を無視して無限に一行スクリプトが書ける気がしてきた。>
私は、一行スクリプト製造マシンですか?

<しかも、マルチレス&ノータイムのね>
否定しないんですね?

<で、次はぁ~~>
ちょっとタンマ!

<何?>
私、夜勤明けで非常に眠いんですけど、お休みとかは?

<大丈夫、サッサト書いて気持ちよく寝れば?>
そ、なんなぁ~~

<じゃあコレいこ、これ。>
無視ですか・・・指定時刻までスリープ? これもう自己解決してるじゃん!

<「もっとスマートに書きたかったんですが…」は?>
ソレ質問じゃないし、別にスマートに書けなくても問題ないしぃ。

<グダグダ言わないの! もう書けた?>
うん。

<ってマジ? 冗談カマシタつもりだったんだけど。>
眠いから速攻で。

sleep(-gettime() + gettime(0, G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " " + "00:09" + "00"))

ポチットな・・・ エラー型違い?
<ダメジャン!>

やっぱ最初に数値確定しないとダメか。

sleep(gettime()* -1 + gettime(0, G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " " + "00:09" + "00"))

<今度はオッケー見たいね・・・てかなんつー速さ!>
今回は単純に文法通りだからね。

<確かにそうだけど・・・>

じゃあ寝るわ。

<起きたらちゃんと投稿しておくのよ。>
へ~い。お休み。ムニャムニャ

<お休み♪ 点数稼ぎも出来たし、今日もいい夢が見られそう・・・>
<バッチっ!! チョット待ったぁ~~>

    (アタシ普通にトンデモナイ事言っているような気がするけど・・・)
    (何なのコイツは! 夜勤明けのボケ頭でコレですか。一行で処理するのがコイツには日常なのか?)

    (アタシも頭に乗って、当たり前のように思ってるけど、コレって普通じゃなくね?)
    (就寝前の一瞬の出来事じゃなくね?)

    (普通の質問に一行、マルチレス、ノータイムで答えるのって普通じゃなくね?)

うっさいヤツだなぁ。安眠妨害だよ。
<ご、ごめん。>

    (考えてもしょうがないか、コレが普通なんだから・・・アタシちょっと幸せかも♪)


おしまい。



-----------------------------------------------------------------------------------------------

提供は: 一行野郎 = Liners でした。

-----------------------------------------------------------------------------------------------
指定時刻までスリープ おかぽん     
    指定時刻までスリープさせたい場合、どのようなスクリプトが考えられるでしょうか?
例えば 23:00までスリープさせたい場合、現時刻が22:30分なら
30分スリープ、22:45分なら 15分スリープさせたいといった感じです。
DATE:2010/11/23(Tue) 23:43 No.3343     
    
    RE:指定時刻までスリープ おかぽん     
    
    すみません、UNTIL文で書けました。もっとスマートに書きたかったんですが…

GETTIME( 0 )
PRINT "START: "+G_TIME_HH2+":"+G_TIME_NN2+":"+G_TIME_SS2

UTL_SLEEP( "0:09" )

GETTIME( 0 )
PRINT "END : "+G_TIME_HH2+":"+G_TIME_NN2+":"+G_TIME_SS2

EXIT

PROCEDURE UTL_SLEEP( TIME )
  TIME = REPLACE(TIME, ":", "::")
  TIME = ":"+TIME+":"
  TIME_HH = BETWEENSTR(TIME, ":", ":", 1)
  TIME_NN = BETWEENSTR(TIME, ":", ":", 2)
  REPEAT
    SLEEP( 1 )
    GETTIME( 0 )
  UNTIL (G_TIME_HH >= VAL(TIME_HH)) AND _
    (G_TIME_NN >= VAL(TIME_NN))
FEND
DATE:2010/11/24(Wed) 00:14     
    
    RE:指定時刻までスリープ Liners     
    
    >もっとスマートに書きたかったんですが…
GETTIMEは基準日の秒数単位まで指定することが出来ます。これを利用すると下記のような書き方が出来ます。

sleep(gettime()* -1 + gettime(0, G_TIME_YY4 + G_TIME_MM2 + G_TIME_DD2 + " " + "00:09" + "00"))

    RE:指定時刻までスリープ おかぽん     
    
    Linersさん、ありがとうございます。
なるほど、基準日と戻り値を上手く使うと、そう書けるんですね。
勉強になります。
DATE:2010/11/24(Wed) 20:28