[#9803] ruby source directory — TEI meiki <tei@...>
またまた、鄭です。
[#9811] Ruby book — WATANABE Tetsuya <tetsu@...>
今日のひとこと(10/05)
まつもと ゆきひろです
まつもと ゆきひろです
[#9823] ruby 1.1c6 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#9827] Are there any NNTP Client Class? — Takeshi UME Imai <takeshi@...>
はじめまして。今井といいます。
はじめまして、あおきともうします。
立石です。
あおき@一橋です。
[#9857] Ruby animal — Chihilo YOSHIMURA <yoshimura@...4.people.or.jp>
[#9869] man-1.1/Marshal.html — ttate@...
立石です。
まつもと ゆきひろです
ふなばです。
まつもと ゆきひろです
ふなばです。
前田薫@リコーです。
ふなばです。
前田@リコーです。
ふなばです。
SRA の笠原です。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
笠原です。こんにちは。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ふなばです。
[#9884] List of UserInterface Kits for Ruby ? — a.furudo@...
まつもと ゆきひろです
[#9885] 文字化け失礼、再送 — Akihiro Furudo <a.furudo@...>
立石です。
[#9891] signal 関係 — sat <sat@...>
五樹島と申します。
[#9908] item insertion in an array — Kikutani Makoto <kikutani@...>
きくたにです。
わたなべです.
Fri, Oct 09, 1998 at 11:22:12AM +0900 において
わたなべです.
[#9911] ruby/jed hoge.rb — Kikutani Makoto <kikutani@...>
ruby/jed ではbuiltinのrubyモードがあるので、
前田です。
[#9959] デストラクタ (?) — m_seki@... (SEKI)
[#9973] [BUG] def i; super i.foo; end; i # => Illegal instruction — gotoken@... (GOTO Kentaro)
ごとけんです
まつもと ゆきひろです
わたなべです.
ごとけんです
[#9976] ruby:struct -> ext module -> ruby — Kikutani Makoto <kikutani@...>
きくたにです。
Sun, Oct 11, 1998 at 03:40:14PM +0900 において
Mon, Oct 12, 1998 at 01:52:45AM +0900 において
まつもと ゆきひろです
Wed, Oct 14, 1998 at 01:08:31PM +0900 において
きくたにです。またこれなんですが、
[#9978] include vs extend — TEI meiki <tei@...>
鄭です。
まつもと ゆきひろです
原です。
[#9999] ruby on HP-UX — AU6M-IWM@... (Iwama Misao)
まつもと ゆきひろです
どうも 10000 おめでーとです。
In message "[ruby-list:10029] Re: ruby on HP-UX"
岩間です。
わたなべです.
岩間です。
[#10030] Ruby/Gtk text widget — TAKAHASHI Masayoshi <maki@...>
高橋です。
高橋です。
岡本です。
五十嵐@早大 です。
五十嵐@早大 です。
[#10092] for が修飾子だったら — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
まつもと ゆきひろです
前田@リコーです。
まつもと ゆきひろです
Regard to "[ruby-list:10097] Re: for が修飾子だったら"
話は変わりますが、
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
>>>>> "Y" == Yukihiro Matsumoto <matz@netlab.co.jp> writes:
Reply-To: ruby-devとしました。
市川です。
ど〜も、中井と申します。
[#10111] Ruby on mips-sony-bsd — kjana@... (YANAGAWA Kazuhisa)
SONY NEWS-OS 4.2R 上で ruby を make した時に起こったこと.
まつもと ゆきひろです
小田@QNES です。
[#10140] xtoolkit patch — 民斗 <tommy@...>
RUby から Motif を使ってみようと思って、xtoolkit-0.0 を使おうとしたので
[#10143] tk.rb: font name — TEI meiki <tei@...>
鄭です。
永井@知能.九工大です.
鄭です。
[#10159] Speed! — Kikutani Makoto <kikutani@...>
きくたにです。
えぐち@エスアンドイー です。
[#10165] syntax of compare strings — Koji Oda <oda@...1.qnes.nec.co.jp>
小田@QNES です。
わたなべです.
[#10175] VPATH — Motoyuki Kasahara <m-kasahr@...>
SRA の笠原です。
[#10208] stdin — komai@...4u.or.jp
はじめまして、こまいと申します。
In message "[ruby-list:10208] stdin"
[#10232] Regexp.html — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
[#10233] curses and thread — aito@...
あ伊藤です.
自己フォローですが,
あ伊藤です.
まつもと ゆきひろです
あ伊藤です.terminfo パッケージについて,
[#10236] Array.html again — Motoyuki Kasahara <m-kasahr@...>
笠原です。こんにちは。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
SRA の笠原です。
まつもと ゆきひろです
大原です。
[#10257] 今日の一言について — Takayuki SAGIJIMA <sat@...>
五樹島です。
田中久太郎@三鷹市です。
大原と言います。
[#10271] Time.html — Tadayoshi Funaba <tadf@...>
ふなばです。
[#10272] time.c:time_arg() — Tadayoshi Funaba <tadf@...>
ふなばです。
まつもと ゆきひろです
ふなばです。
[#10286] Re: for が修飾子だったら — ttate@...
立石です。
[#10294] Re: 文字列を数値型に変換する方法を教えてください — "石田 宏香" <h-ishida@...>
石田です。
[#10303] djgpp 版の Make について — たむら けんいち <t9655832@...>
[#10311] Re: 大規模プログラムの友 — m_seki@... (SEKI)
At 11:23 PM 98.10.23 +0900, Takashi Nakai wrote:
ど〜も、(またしても)中井です。
そういえば、「rubyコンパイラが欲しい」というような要望は
まつもと ゆきひろです
福嶋と申します。
いがらし@早大 です。
[#10316] array — Toshiki Komai <komai@...4u.or.jp>
こまいです。先日、
[#10338] rbgw11c6 + rskkserv-1.0.2 — Masaki YATSU <yatsu@...>
[#10346] negative index of an array — Motoyuki Kasahara <m-kasahr@...>
笠原です。
[#10406] ruby スクリプトにメニューのようなメッセージと選択方法をいれたいのですが... — "Hirotaka Ishida" <h-ishida@...>
いしだです。
[#10413] how to setup ruby for Windows NT — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#10415] split — flare@... (Takashi Ikeda)
ふれあです。
えぐち@エスアンドイー です。
limit の挙動を Perl に合わせるというのはどうでしょうか?
[#10443] ruby 1.1c での SJIS — Toshiharu Tanaka <tanatosi@...>
たなか@神戸です。
[#10470] MailModule ver 0.2 — MineroAoki <aamine@...>
あおき@一橋です。
Fri, Oct 30, 1998 at 12:45:10AM +0900 において
あおきです。
Thu, Feb 04, 1999 at 10:25:47AM +0900 において
[#10473] case with Class — MineroAoki <aamine@...>
あおきです。
まつもと ゆきひろです
こんにちは。あおきです。
ごとけんです
あおきです。
前田です。
青山です。
前田です。
青山です。
まつもと ゆきひろです
[#10498] 全角英数字を半角にする方法 — 民斗 <tommy@...>
民斗です。
[#10510] irb がうまく動かない — ARIMA Yasuhiro <fit0298@...>
有馬@FITECです。
[#10527] rfc822.rb — "Kikutani, Makoto" <kikutani@...>
きくたにです。
[#10539] syntax error in thread — Yoshiki WADA <wada@...>
和田といいます。
青山です。
[ruby-list:9921] Re: signal 関係
西@九大です。
From: matz@netlab.co.jp (Yukihiro Matsumoto)
> 西さん辺りに実際のコードを出して頂けると参考になると思うので
呼ばれてノコノコ出て来た訳じゃないんですが、(イヤ、ほんまはその通りな
んですけど)実例として、稚拙ながら、私が利用している TimeStampObserver
というものを添付させて頂きます。
これは、指定された「Web の URL」や「ファイルのパス」からタイムスタンプ
(Web の場合は Last-Modified)を取得するだけのものなんですが、以下のよう
に「よく見る Web 関係の更新チェック」に利用できます。
#下記のサイトが「Last-Modified」を返すかどうかは知りませんが。
----------------------------------------------------------------------
#!/usr/local/bin/ruby
require "TimeStampObserver"
URIS = ["http://www.netlab.co.jp/ruby/jp/", "http://iij.asahi.com/", "file:."]
array = []
URIS .each do |uri|
if observer = TimeStampObserver .new(uri)
observer .seek # same as `.start'
array << observer
end
end
sleep 3
array .each do |observer|
if observer .status
observer .stop
# タイムアウト処理はここ
p 'timeout!'
else
# 通常処理はここ
end
end
array .sort .reverse .each do |observer|
p [observer .uri, observer .time]
end
----------------------------------------------------------------------
タイムアウトとは直接関係ありませんが、一応、Thread と socket を利用し
ているという事で、参考になれば幸いです。
------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程二年
西 和則 ( e-mail: kazunori@swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------
require "socket"
require "thread"
######################################################################
### Class TimeStampObserver
### aTimeStampObserver accepts an URI for a constructor argument
### and gets the time stamp of it by `seek'(or `start') method.
###
### Author: Kazunori NISHI <kazunori@swlab.csce.kyushu-u.ac.jp>
### Created: Jun 10, 1998
### Revised: Oct 9, 1998
###
class TimeStampObserver
MONTH = {
'jan', 1, 'feb', 2, 'mar', 3, 'apr', 4,
'may', 5, 'jun', 6, 'jul', 7, 'aug', 8,
'sep', 9, 'oct', 10, 'nov', 11, 'dec', 12}
attr :uri
attr :time
attr :method
attr :locate
attr :thread
# 初期化。
def initialize (uri)
@time # 最終改竄時刻(unix 秒)
@uri # 時刻を取る URI
@method # 時刻を取る手段
@locate # 時刻を取る対象の場所(ファイル名など)
@thread # 自分が使うスレッド
@method, @locate = (@uri = uri) .split(/:/, 2)
end
# 定義された手段(@method)によって、時刻を取得し、@time に入れる
def get_last_modified
@time =
case @method .downcase
when "file"; self .get_time_stamp_local(@locate)
when "http"; self .get_time_stamp_remote(@uri)
when "const"; @uri .to_i
when "comment"; 0
end .to_i
return self
end
def seek
@thread = Thread .new {self .get_last_modified}
end
def stop
if seeking?
@time = 0
@thread .exit
end
end
def seeking?
(@thread && @thread .status)
end
def <=> (other)
@time <=> other .time
end
######################################################################
## get time stamp of a local file
######################################################################
def get_time_stamp_local (file)
File::mtime(file) .to_i
end
######################################################################
## Get last modified of a remote file by http
######################################################################
def get_last_modified_by_http (url)
begin
if url =~ /http:\/\/([^\/]*)/
host, port = $1 .split(/:/, 2)
s = TCPsocket.open(host, port || 80)
s .write("HEAD " + url + " HTTP/1.0\n\n")
while s .gets()
return $_ if /^(Last-Altered:|Last[- ]Modified:)/i
end
end
return nil
rescue
return nil
end
end
def get_time_stamp_remote (uri)
case self .get_last_modified_by_http (uri)
# Last-Modified: Sun, 08 Mar 1998 13:49:00 GMT
when /^Last-Altered: (.*)$/i
return $1 .to_i
when /^Last[- ]Modified: (.*)$/i
week, day, mon, year, hour, min, sec = $1 .split(/[: ]/)
return Time.gm(year.to_i - 1900, MONTH[mon.downcase], day.to_i,
hour.to_i, min.to_i, sec.to_i) .to_i
else
return -1
end
end
alias start seek
alias status seeking?
end