[#27441] Cannot build ruby-1.6.2 (and stable-snapshot) on HP-UX10.20 — MIANAKAWA masaru <earth@...2.sci.ibaraki.ac.jp>
皆川@茨大と言います。
なかだです。
渡辺哲也です。
なかだです。
渡辺哲也です。
[#27463] Net::NNTP — "Akinori MUSHA" <knu@...>
ここ最近 NetNews 関連をいろいろ調べていたんですが、その勢いで
[#27472] Ruby への希望 (1): IO#sysseek — Takahiro Kambe <taca@...>
こんばんは。
なかだです。
[#27473] Ruby への希望 (2): シンボリックリンクの扱いの強化 — Takahiro Kambe <taca@...>
その2で、シンボリックリンクの扱いについてです。
[#27486] Open Source Festival — Masaki Suketa <CQN02273@...>
助田です。宣伝です。
入門したばかりです。
From: Masaki Suketa <CQN02273@nifty.ne.jp>
新井です。
From: Koji Arai <JCA02266@nifty.ne.jp>
[#27492] Re: handling of #! — Koji Arai <JCA02266@...>
新井です。
[#27493] Re: question of pipe , thread and queue — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[#27498] xml2rb-0.1.0 released — MoonWolf <moonwolf@...>
xml2rb-0.1.0をリリースしました。
[#27518] Re: @netlab.co.jp -> @ruby-lang.org ? — WATANABE Hirofumi <eban@...>
わたなべです。
まつもと ゆきひろです
[#27530] Re: RFC: RubyVM — Toyofuku <toyofuku@...>
豊福です。
[#27541] ディレクトリ情報を一度に取得するクラスはありませんか? — "たけ(tk)" <ggb03124@...>
Ruby 標準の Dir を使うと名前しか取得できないですよね。
まつもと ゆきひろです
[#27546] net/smtp,pop,http 1.2 pre2 — Minero Aoki <aamine@...>
あおきです。
In article <20010206202204E.aamine@mail.u-netsurf.ne.jp>,
高橋征義です。
あおきです。
In article <20010206221028C.aamine@mail.u-netsurf.ne.jp>,
あおきです。
大島です。
On Fri, 9 Feb 2001 11:50:48 +0900
大島です。
あおきです。
大島です。
[#27561] ParseDate.to_time — rubikitch <rubikitch@...>
るびきちです。
あづみです。
あづみです。
高橋征義です。
ふなばです。
あづみです。
ふなばです。
たけ(tk)です。
まつもと ゆきひろです
In message <982195219.790355.16311.nullmailer@ev.netlab.zetabits.com>
ふなばです。
In message <20010216003018P.tadf@kt.rim.or.jp>
たけ(tk)です。
In message <20010216015906.C85A.GGB03124@nifty.ne.jp>
まつもと ゆきひろです
たけ(tk)です。
まつもと ゆきひろです
たけ(tk)です。
ふなばです。
たけ(tk)です。
もりきゅうです。
In message <200102180841.AA00612@euler.nifty.ne.jp>
とみたです。
In message <20010219014819.751b7207.tommy@tmtm.org>
まつもと ゆきひろです
有馬です。
高橋征義です。
[#27564] base64.rb — rubikitch <rubikitch@...>
るびきちです。
[#27565] importenv.rb — rubikitch <rubikitch@...>
るびきちです。
rubikitchさんの<20010207124131-15878M.takashi@localhost>から
なかだです。
なかだです。
Nobuyoshi.Nakadaさんの<200102070532.OAA08316@m2.gw.fujitsu.co.jp>から
なかだです。
Nobuyoshi.Nakadaさんの<200102070627.PAA23142@m3.gw.fujitsu.co.jp>から
[#27588] interbase6 — Naoto Hiroshima <taisei-in@...>
こんにちは。
まつもと ゆきひろです
備前と申します。
まつもと ゆきひろです
私信でやるべきだったかもしれませんが、とりあえずこのまま。
[#27617] Prioritize the need for documentation — Aleksi Niemel<aleksi.niemela@...>
As I promised in mail [ruby-talk:10521], I'm querying the opinion of the
[#27626] Ruby 256 倍 極道編 — ttoru <ttoru@...>
三谷(ぐっぴ☆)といいます。
[#27631] 文字数 — Kenji Noda <zaq94465a@...>
野田と申します
From: Kenji Noda <zaq94465a@cat.zero.ad.jp>
On Fri, 9 Feb 2001 07:41:29 +0900
[#27672] スレッドローカル変数 — Kazuhiro NISHIYAMA <zn@...>
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=%C1%C8%B9%FE%A4%DF%CA%D1%BF%F4
[#27674] 配列をハッシュへ — Naoto Hiroshima <taisei-in@...>
こんにちは。
At Sat, 10 Feb 2001 17:47:22 +0900,
原です。
こんにちは。
まつもと ゆきひろです
こんにちは。 Ruby をありがとうございます。
なかだです。
こんにちは。
なかだです。
[#27700] BUG on hash.c with Alpha arch. — IKEGAMI Daisuke <daisu-ik@...>
ruby 1.6.2 (2000-12-25) [alphaev56-osf4.0d]
[#27724] [Q] about RWiki and ref.manual — Minero Aoki <aamine@...>
あおきです。
新井です。
あおきです。
新井です。
あおきです。
新井です。
On Mon, 12 Feb 2001 06:43:11 +0900
[#27729] File.directory? and Dir.mkdir — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
[#27736] [BUG] ref.manual on RWiki — Minero Aoki <aamine@...>
あおきです。
From: Minero Aoki <aamine@dp.u-netsurf.ne.jp>
新井です。
From: Koji Arai <JCA02266@nifty.ne.jp>
[#27765] RDTool can not process README.rd — Kenichi Komiya <kom@...1.accsnet.ne.jp>
Toshです。
[#27836] Ruby/Gtk compile error — tsone@... (曽根俊彦)
今晩は、曽根俊彦です。
今日は、曽根俊彦です。
いわおかです。気づいたとこだけ。
IWAOKA Masahiro <iwaoka@tuat.jac-net.com> writes:
いがらしです。
いがらしです。
今晩は、曽根俊彦です。大変お手数をおかけします。
いがらしです。
お早うございます。曽根俊彦です。
[#27859] 【質問】“ Ruby プログラミング入門”の内容について (From 超初心者) — Nobuo hirata <psy-1114@...2.so-net.ne.jp>
はじめまして、“うえの”という超初心者です、よろしくお願い致します。
わたなべです。
たけ(tk)です。
わたなべさん、レス有り難う御座います。
ごとけんです
artonです。
[#27883] WebUnit — yuichi TAKAHASHI <yt@...>
[#27905] WebUnit — yuichi TAKAHASHI <yt@...>
[#27939] if — ARCS <arcs@...>
初めて投稿させていただきます。
[#27941] [RDP] cgi.rb — rubikitch <rubikitch@...>
るびきちです。
[#27967] Re: 【質問】“ Ruby プログラミング入門”の内容について (From 超初心者 ) — ttoru <ttoru@...>
三谷といいます。
[#27978] flock がエラー — 堀川 久 <vzw00011@...>
こんにちは。
まつもと ゆきひろです
こんにちは。
まつもと ゆきひろです
[#27980] Dir[pattern] — Kazuhiro NISHIYAMA <zn@...>
2バイト目に「\」を含むファイル名がDir['*']で出てきません。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
まつもと ゆきひろです
[#27981] ワードファイルをテキストにするスクリプト — Kenji Noda <zaq94465a@...>
野田です。
artonです。
野田です。お手数をおかけしております。
artonです。
[#28028] SQLUnit みたいなものってあります? — Improve <imprml@...>
こんにちは、和田(Improve)です。
[#28041] saveAs — Kenji Noda <zaq94465a@...>
野田です。
新井です。
[#28054] test.xls を開き Sheet1 を Select するとエラー — Kenji Noda <zaq94465a@...>
野田と申します
[#28071] HTML::Template みたいなもの — Hirosato Matsuura <matswra@...>
松浦@コムデザイン といいます。
松浦@コムデザインです
ごとけんです
[#28078] 正規表現で <!-- コメント --> の認識 — kai13@...
Tree型htmlパーザーを開発していてるのですが、
ごとけんです
スキャナジェネレータtlex([ruby-list:28062])のアーカイブにhtmlscan.rlとい
[#28138] handling of #! — Takahiro Kambe <taca@...>
こんばんは。
なかだです。
In message <200102211914.EAA01450@sharui.nakada.kanuma.tochigi.jp>
なかだです。
In message <200102220405.NAA19549@m2.gw.fujitsu.co.jp>
なかだです。
In message <200102220912.SAA27681@m5.gw.fujitsu.co.jp>
なかだです。
中田@Vectorです。
新井です
> 新井です
まつもと ゆきひろです
In message <983117062.040851.8222.nullmailer@ev.netlab.zetabits.com>
[#28153] net/http で、 HTTPBadResponse — Beyond <beyond@...>
あおきです。
あおきです。
あおきです。
[#28162] Ruby-chan site has been moved. — maili31s@... (SugHimsi == SUGIHARA Hiroshi)
すぎむし%Ruby誕生日(2/24)祝福企画#1。
[#28178] $stdout — OHARA Shigeki <os@...>
大原です。
[#28184] copyright of lib/* — Minero Aoki <aamine@...>
あおきです。
[#28194] Ruby を 256 倍使うための本無道編 — MoonWolf <moonwolf@...>
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3709-1.html
[#28201] 求む RD の DTD(rd2xml) — MoonWolf <moonwolf@...>
rd2xmlというRDtoolのフォーマットライブラリを作りました。
[#28203] xml2rb-0.1.0 released — MoonWolf <moonwolf@...>
xml2rb-0.1.0をリリースしました。
[#28219] Cast — Shin-ichiro HARA <sinara@...>
原です。
豊福です。
[#28222] File.rename の例外 — DEQ <deq@...>
DEQ(Ruby初心者)です。
[#28231] CGI でのロック (was: File.rename の例外) — DEQ <deq@...>
DEQです。
こんばんは。三並です。
ただただしです。
[#28254] Re: Bignum に Bug? — 正木 功 <GEC01122@...>
まさきです。
Subject と全くかけ離れてしまってますが…。
[#28256] XMLParser への要望 '=>' — MoonWolf <moonwolf@...>
XMLParserで生成したXHTMLを未対応のブラウザ(MSIE5.5)で表示した時に ' が
[#28258] txt文に変更したい — Inoue Shinobu <VEF00372@...>
こんなこと、RUBYでできないもんでしょうか。
こんばんは。久野といいます。
[#28270] [RDP]cgi.rb 着手 — rubikitch <rubikitch@...>
るびきちです。
[#28271] [Q] jcode の局部適用 — HISANO Kozo <mail@...>
こんばんは。久野といいます。
まつもと ゆきひろです
[#28281] kidou opushon wo dokoni? — Inoue Shinobu <VEF00372@...>
助田さんの作ってくださった
こんにちわ、DP.です。
助田です。
newです.
たけ(tk)です。
newさん、みなさんこんにちは。申し訳ありませんがもう少しおつきあいしてくだ
newです.
[#28333] Re: argument to instance_eval block(Re: — 正木 功 <GEC01122@...>
正木です。
なかだです。
あおきです。
Minero Aokiさんの
けいじゅ@日本ラショナルソフトウェアです.
あおきです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#28368] 【要望】 EmacsLisp みたいなフック — kai13@...
ファイルリストなどをフィルタリングする時に然るべきタイミングで
まつもと ゆきひろです
On Wed, 28 Feb 2001 15:57:38 +0900
まつもと ゆきひろです
秋田です。
[ruby-list:28219] Cast
原です。
久しぶりに提案です。型キャストの話です。
Ruby で数学などしていると、やたらクラスばかり作ってしまって、何がなん
だか分からなくなることがあります。例えば、配列はそれをベクトルと見たり、
順列と見たり、集合と見たりするわけで、それぞれの「見なし」のためには面
倒でもそれぞれ Array に delegate するクラスを作り、その都度オブジェク
トを new で作るのが正式な方法です。しかし、昔は組み込みクラスはインス
タンス変数を持てなかったのでしかたが無かったのですが、今では delegate
ではなく、直接 Array を継承するのもオーライかと思います。そこで、型変
換の仕組みを考えてみました。
ところで、実は既に型変換のようなものは備わっていて、例えば Array::[]
があります。仮に Array の要素の総和を与える sum を定義することを考えま
しょう。ここで Array に組み込んでしまうのはシステム全体に影響があるの
で、サブクラスにします。
class Array2 < Array
def sum
tot = 0
each do |x| tot += x; end
tot
end
end
そすると、Array はうまいことできていて Array2::[] が Array::[] を
継承してうまく動いてくれます。だからこんな風に使えます。
(各行の和を求めるスクリプト)
while line = gets
puts( Array2[*line.split.collect{|x| Integer(x)}].sum )
end
これは Array2[] がキャストを行ってくれているのだと見ることができます。
これに似たキャストの仕組みを全てのクラスに持たせようというわけです。
で、キャストの形式ですが、Array2**obj のようにしようかと思います。本当
は [] を使いたいところですが、既に使われいるので。しかも、** は結合力
が強く、かつ、右結合なのもいいところです。これを使うと上はこんな風に書
けます。
while line = gets
puts( (Array2**line.split.collect{|x| Integer(x)}).sum )
end
さて、これを行う仕組みですがいたってシンプルです。キャストをしたいクラ
スには、メソッド casting を用意します。casting は基本的には配列を返し、
クラス Foo のインスタンス foo に対して
Foo.new(* foo.casting)
が foo.dup と同じ効果をもつように定義します。そして Class では、キャスト
を casting を使って行うわけです。次が Ruby で書いた例です。
class Class
def **(other)
new(* other.casting)
end
end
一般のクラスでキャストしたい(されたい?)クラスでは次のように定義して
おくといいでしょう。
class Foo
def initialize(a, b, c)
@a, @b, @c = a, b, c
end
def casting
[@a, @b, @c]
end
end
基本は上の通りなのですが、組み込みクラス Array の new は特殊な意味があ
るので、** はこのままではうまくありません。また、効率を考えると、多少
統一性が失われても、組み込みクラスに対しては余計な配列オブジェクトを作
らないように工夫しておいた方がいいでしょう。例えば、
class Class
def **(other)
if self <= Array or self <= Hash
self[*other.casting]
elsif self <= String
new(other.casting)
else
new(*other.casting)
end
end
end
class String
def casting; self; end
end
class Array
def casting; self; end
end
class Hash
def casting; to_a.flatten; end
end
class Range
def casting
[first, last, exclude_end?]
end
end
みたいに。
で、提案なんですが、この Class#** と「組み込みクラスの」casting を組
み込みで用意したらどうかということです。
今見たように Ruby で書けるなら組み込みにする必要ないではないか、という
意見もありそうですが、TCPSocket.casting なんか自分で書くのちょっと面倒
ですよね。
また、これは余計かもしれませんが、次の Class#castable というのもあると
便利かもしれません。Ruby で書くと
class Class
private
def castable
eval "class Object; def #{name}; #{name}**self; end; end",
TOPLEVEL_BINDING
end
end
みたいな感じで、
class Foo
castable
end
とすると、Object#Foo が Foo**(obj) をするようになるというものです。
(ただし先の定義例では castable は継承できません。)
ご意見いかがでしょう。こういうのがあると便利だと思いませんか?
class String2 < String
castable
def each(&b); each_byte(&b); end
end
"ABCDE".String2.collect{|x| x - ' '[0]} #=> [33, 34, 35, 36, 37]
class Hash
castable
end
%w{abc, 0, efg, 1}.Hash #=> {"abc" => "0", "efg" => "1"}
最後にもう一度、キャストの仕組みを Ruby で書きかけたものを添えておきま
す。
-----^ cast.rb
class Class
def **(other)
if self <= Array or self <= Hash
self[*other.casting]
elsif self <= String
new(other.casting)
else
new(*other.casting)
end
end
end
class String
def casting; self; end
end
class Array
def casting; self; end
end
class Hash
def casting; to_a.flatten; end
end
class Range
def casting; [first, last, exclude_end?]; end
end
##### TEST #####
class String2 < String
def each(&b); each_byte(&b); end
end
p( (String2**"ABCDE").collect{|x| x - ' '[0]} ) #=> [33, 34, 35, 36, 37]
class Array2 < Array
def sum
tot = 0
each do |x| tot += x; end
tot
end
end
p( (Array2**[1, 2, 3, 4, 5]).sum ) #=> 15
class Class
private
def castable
eval "class Object; def #{name}; #{name}**self; end; end",
TOPLEVEL_BINDING
end
end
class String2 < String
castable
end
p "ABCDE".String2.collect{|x| x - ' '[0]} #=> [33, 34, 35, 36, 37]
class Array2 < Array
castable
end
p [1, 2, 3, 4, 5].Array2.sum #=> 15
class Hash
castable
end
p %w{abc 0 efg 1}.Hash #=> {"abc" => "0", "efg" => "1"}
-----$ cast.rb