プログラミング言語の話です。
ねぎぽは基本的にPerlerです。このところRubyを触る必要性にかられていてその為にはてブしてたサイトがあるんだ。
新しいプログラミング言語を習得するための15の方法
今日30分ぐらい時間が出来たのでいくつか組もうと思った。ざっと見た所文字列操作は使うだろうし多くて良し、配列操作もいいけどやけに数値処理が多いなみたいなことを考えつつ、書きはじめてみていきなり詰まった挙げ句驚愕の事実に気づいた。
課題1. 無限ループ内に1,2,3,...を出力させ、このループを特定のキー入力で止める。
・・・キーボードイベントってPerlでどう見るの?
Perl/Tkでそう言うの昔組んだことあるけど、えーと、無理だろこれ。ねぎぽはPerlの習得を諦めました。
誰かRubyでやってよこれ。
コメント (3)
Event.pm
これ使ったら、完全ではないけれど一応はできました。
ただ、例えばqを終了キーにしても、qを打った後にenterを押さないといけないから完全にイベント見てる気にはなりませんが。。
Event->io(fd => \*STDIN,
timeout => 1,
poll => 'r',
repeat => 1,
cb => sub {
my $e = shift;
my $got = $e->got;
my $buf;
$count++;
print "$count\n";
if ($got eq 'r') {
if ( sysread(STDIN, $buf, 80)){
unloop('ok') if $buf =~ /q/i;
}
}
else {
}
}
);
my $ret = loop();
投稿者: なかむら | 2007年03月17日 15:51
よくこんな意味の分からないの見つけて来たな。。何に使うんだろう。想像がつかない。
でも結局標準入力渡すスタイルになるだろうし、そうするとReturnの打鍵は避けられないよね。STDINの区切り文字を書き換えられたりしないのかな、と思って perl -e '$/="q";$a=;print $a'してみたらちょう面白い動きになったよ!やってみて!
投稿者: negipo | 2007年03月17日 22:01
関係ないけどこれ
http://search.cpan.org/dist/WWW-Mechanize/
触ったことあるよね、多分。テラ便利じゃね?もうLWP::UserAgentとか使う気しないんだけどコレ使ってると阿呆になる気がする。
投稿者: negipo | 2007年03月17日 22:03