[#20453] thread in loop — Yoshiki Wada <wada@...>
和田と申します。
[#20473] Comparison with Other Languages — Hideto ISHIBASHI <s34204@...>
石橋秀仁です。
まつもと ゆきひろです
石橋秀仁です。
From: Hideto ISHIBASHI <s34204@vip.cis.kurume-nct.ac.jp>
[#20475] Wrapping Regexp in C++/Windows — OZAWA Sakuro <crouton@...>
さくです。
まつもと ゆきひろです
In article <E12GWVc-0004Rq-00@ev.netlab.co.jp>,
なかだです。
まつもと ゆきひろです
[#20505] Array のサブクラス — ogino@...
荻野です。Array や Hash のサブクラスの挙動がどうもよくわかりませんので
[#20523] regexp ML — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
[#20525] lib/subdirectory — gotoken@... (GOTO Kentaro)
ごとけんです
[#20526] site_ruby — gotoken@... (GOTO Kentaro)
ごとけんです
[#20534] ftpmirror-1.2.2 で @homepage へ up 不可 — Hirokazu Kiuchi <kiuchi@...>
はじめまして、きうちです。
黒田です。
素早い回答ありがとうござます、きうちです
黒田です。
きうちです
[#20554] エスケープされていないものだけを置換 — Ayanosuke <aya@...>
館林と申します。
たけうちです。
ごとけんです
なひです.
館林です。
[#20598] — "okaukio+mls" <jtz4046@...6.mnx.ne.jp>
ruby-list@netlab.co.jp のみなさん こんにちは。
片岡と申します。
おかゆきおです。
助田です.最初からこのツリーちゃんと読んでなかったんですが...
おかゆきおです。
助田です.ちょっと長いです.
おかゆきおです。
In article <38A6419D15E.469A.BXQ04723@nifty.ne.jp>,
In <200002130938.SAA17120@rose.duelists.org>,
In article <200002131054.TAA09555@mail.fb3.so-net.ne.jp>,
なかだです。
有馬です。
たかた@久しぶりの投稿です。
たかたです
たかたです
たかたです
From: "Hideaki Takata" <hideakit@d3.dion.ne.jp>
わたなべです.
なひです.
なひです.
なひです.
越水です。
わたなべです.
おかゆきおです。
有馬です。
なかだです。
わたなべです.
[#20608] media watch 2000.02.08 — Noritsugu Nakamura <nnakamur@...>
[#20625] druby で 3 つのプロセス間でオブジェクトをやり取りする — 堀川 久 <vzw00011@...>
こんにちは。
こんにちは。
Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> wrote:
[#20675] 括弧省略の問題? — NISHIKAWA <nyasu@...3web.ne.jp>
こんばんは。にゃす@3webです。
[#20701] call Process::waitpid with -1 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
まつもと ゆきひろです
[#20720] ruby 本の mtalkd マルチスレッド版について — Nobutaka Terauchi <europa@...>
はじめまして、寺内 信尊といいます。
[#20722] opttest.rb of optparse-0.6 — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
Toshです。
なかだです。
[#20723] 正規表現について — Takayuki Tanaka <tanaka@...>
始めてメールさせていただきます。
[#20733] ANN: ActiveScriptRuby — "arton" <arton@...>
はじめまして。
[#20737] Ruby/Gtk の CList にパッチ — YASUI Kentarow <kenyasui@...>
安井です。
いがらしです。返答が遅くなりすみません。
まつもと ゆきひろです
やしです。
まつもと ゆきひろです
原です。
[#20766] cvsmailer — Daiji KANEMATSU <kanematu@...>
兼松と申します。
[#20771] CGI の改行 (Ruby + Apache on Windows) — ogino@...
たびたびすみません、荻野です。またひとつ分からない点が。
[#20774] 'scripting' / 'SUKURIPUTO' — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
[#20821] method object — thitoshi@... (TAKAHASHI Hitoshi)
こんにちは。鈴木@仕事中です。
まつもと ゆきひろです
たかたです
新井です。
武井です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
[#20848] media watch 2000.02.18 — Noritsugu Nakamura <nnakamur@...>
[#20865] ANN: ActiveScriptRuby Update — arton <arton@...>
artonです。
[#20887] 変数ウォッチ画面ありませんか? — Itou-T15@...
ひとつ相談ですが(伊藤です)
[#20918] Ruby 本入手法 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#20923] CUI library available in Ruby — Hideto ISHIBASHI <s34204@...>
石橋秀仁です。
石橋秀仁です。
石橋秀仁です。
[#20932] [Q] array.each{|i,j|... — junji999@...
高橋と申します.
[#20944] Hash#update について — Fuyuhiko Maruyama (丸山冬彦) <fuyuhik8@...>
丸山@東工大と申します。
なかだです。
From: 中村暁史 Nakamura Akifumi <BXQ04723@nifty.ne.jp>
丸山です。
まつもと ゆきひろです
丸山です。
まつもと ゆきひろです
丸山です。
まつもと ゆきひろです
[#20959] Ruby/GTK tの動かし方 — 中村暁史 Nakamura Akifumi <BXQ04723@...>
こんにちわ、阿部です。
いがらしです。
わたなべです.
[#20965] cgi.rb BUG? — rubikitch <rubikitch@...>
るびきちです。
なかだです。
nobu.nakada@nifty.ne.jp wrote:
なかだです。
nobu.nakada@nifty.ne.jp wrote:
まつもと ゆきひろです
matz@netlab.co.jp (Yukihiro Matsumoto) wrote:
青山です。
まつもと ゆきひろです
なかだです。
[#20992] GPIB driver その後 — Makoto Tagusari <mtag@...2.so-net.ne.jp>
皆さん今晩は、田鎖です。
石橋秀仁です。
皆さん今晩は、田鎖です。
In message "[ruby-list:21083] Re: Critical Block (Re: GPIB driver その後)"
皆さん今晩は、田鎖です。
まつもと ゆきひろです
[#21024] patch - ext/socket/socket.c — GOTOU YUUZOU <gotoyuzo@...>
ごとうゆうぞうです。
[#21028] CGI.rb のドキュメント探してます — Takumi Nakamura <chapuni@...>
はじめまして。福岡在住の中村と申します。
こんにちは。
江田です。
こんにちは。
[#21042] REQ: String#to_a — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp>
越水です。
[#21073] Regexp question — Kengo Nakajima <ringo@...>
京都の中嶋です。
まつもと ゆきひろです
[#21093] RD with URL — rubikitch <rubikitch@...>
るびきちです。
なかだです。
From: nobu.nakada@nifty.ne.jp
なかだです。
From: nobu.nakada@nifty.ne.jp
Toshです。
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
Toshです。
新井です。
Toshです。
新井です。
Toshです。
新井です。
Toshです。
[ruby-list:21087] tiny fetchmail
咳といいます。
今日の午前中、急に必要になって
定期的にPOPしてMain/inboxに保存する
fetchmailもどきを書きました。
# が、午後になったらすぐ不要になってしまいました。
せっかくなので投稿します。
お目汚しにどうぞ。
% ruby script.rb <HOST> <USER>
とすると一分おきにPOPしてinboxに保存します。
引数検査の部分をちゃんと作らないと実用にならないかも。
#!/usr/local/bin/ruby
require 'net/pop'
class FetchMailError<RuntimeError; end
class POPServer
def initialize(host, user, pass=nil)
@host = host
@user = user
if pass
open_with_passwd(pass)
else
open
end
raise FatchMailError unless @pop
end
def close
@pop.finish if @pop
@pop = nil
end
def reopen
return if @pop
open_with_passwd(@pass)
end
def open_with_passwd(pass)
@pop = Net::POP3Session.new(@host)
@pop.start(@user, pass)
@pass = pass
end
def open(count = 3)
begin
@pop = Net::POP3Session.new(@host)
@pass = passwd()
@pop.start(@user, @pass)
rescue
if count > 0
count -= 1
retry
else
nil
end
end
end
def each
@pop.each do |mail|
yield mail
end
end
def passwd
system "stty -echo"
print "Password: "
pw = gets.chomp
system "stty echo"
puts
pw
end
end
class Inbox
def initialize(path='~/Mail/inbox')
@path = File.expand_path(path)
end
def tail
f = -1
Dir.foreach(@path) do |name|
if name =~ /^\d+$/
n = name.to_i
f = (f > n) ? f : n
end
end
f
end
def temp(count = 3)
begin
temppath = @path + "/poptemp#{$$}-#{count}"
if File.exist?(temppath)
count -= 1
if count > 0
retry
else
nil
end
end
f = File.open(temppath, "w")
[temppath, f]
end
end
def summary(str)
if str =~ /\nFrom: (.*?)\n/
puts "#{Time.now} From: #{$1}"
end
end
def regist(mail, count = 8)
str = mail.all()
str.gsub!(/\r/, '')
summary(str)
temppath, f = temp()
f.write(str)
f.close()
num = tail() + 1
begin
new_name = @path + "/#{num}"
File.link(temppath, new_name)
File.unlink(temppath)
mail.delete!
rescue Errno::EEXIST
if count > 0
num += 1
count -= 1
retry
else
nil
end
end
end
end
class FetchMail
def initialize(pop, inbox, interval=5)
@pop = pop
@inbox = inbox
@interval= interval * 60
end
def fetch
@pop.reopen
@pop.each do |mail|
@inbox.regist(mail)
end
@pop.close
end
def mainloop
loop do
fetch
sleep(@interval)
end
end
end
if __FILE__ == $0
inbox = Inbox.new
pop = POPServer.new(ARGV.shift, ARGV.shift)
begin
fm = FetchMail.new(pop, inbox, 1)
fm.mainloop
ensure
pop.close if pop
end
end