404 motivation not found | t_ishidaのブログ

1月/70

1

脊髄反射で移植してみた

Rubyでなんちゃって執事・改を作成した件

http://d.hatena.ne.jp/hrkt0115311/20080610/1213088304#tb

脊髄反射で移植してみた。

仕様が若干違うかも。

##おまじない
use strict;
##環境設定部
my $DAT_PATH = '.';
my $HELP =  q|
   読みます(オプション無し)
-w 書きます
-h これです
-c このオプション付けてクーロンにかけておくと時間になったら、
   Google-talkとかに出してくれるモードとかね、
   やるやる詐欺
|;
my @B   = (
"と書いてあります。いかがなされますか?",
"とのことですが、本日はお忙しいでしょうか?",
"とのことです。お忘れではない? それは失礼いたしました。",
"とのことですが、ぼっちゃま、寝ないでください、ぼっちゃま。"
);
my $WRITE_MSG = q|
ぼっちゃま、本日のご予定を伺ってもよろしいでしょうか。

  ※予定は一行ずつ入力してください。
  ※入力が終了したら「exit」と入力してください。
  ※入力情報は本日の予定に「上書き」されます。
|;

##処理部 
&h and exit(0) if grep /-h/i, @ARGV;
&w and exit(0) if grep /-w/i, @ARGV;
&r;
sub r{
-f &fn or say( '予定無いっすね。暇っすね') and return;
open my $fh,
my @todo = <$fh>;
close $fh;
!@todo and say( "やっぱりなんも無いっすね" ) and return;
## id:hrkt0115311より頂いたバグ報告を修正ー
##  say( join "\n", map{ s/\n// and "「$_」" . $B[ int rand @B ] } @todo );
say( join "\n", map{ s/\n//;"「$_」" . $B[ int rand @B ]; } @todo );
}
sub w{
say( $WRITE_MSG );
my @history;
while( <STDIN> ){
/^(\s|exit)$/ and last;
chop $_ and push @history,  $_;
}
open my $fh,  '> ' .
print $fh join "\n", @history;
close $fh;
say( '復唱します。', "\n" , @history, 'で、よろしいですね?ご予定承りました。' );
}
sub fn{
my ($s , $min, $h, $d, $mon , $y ) = localtime;
$y += 1900;
++$mon < 10 and $mon = "0$mon";
++$d   < 10 and $d   = "0$d";
"$DAT_PATH/$y$mon$d";
}
sub h   { say( $HELP )    }
sub say { print join "\n", @_ , "\n" }
Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

RSS Feed

コメントはまだありません。

Leave a comment!

<< 色々自動化したいと考え中

Find it!

Theme Design by devolux.org

Tag Cloud