[#11876] Re: [BUG] 3e9.to_i => floating exception — SHUDO Kazuyuki <shudoh@...>
首藤です。
> > x86 の FPU といえば、FPU 内で浮動小数点数を 64bit で扱う
[#11904] to_i,to_s の素朴な疑問 — HQss_YasuiS/hq_ss@...
福嶋です。
福嶋です。
井上%といいます。
[#11922] Re: to_i,to_s の素朴な疑問 — HQss_YasuiS/hq_ss@...
[#11925] Re: to_i,to_s の素朴な疑問 — HQss_YasuiS/hq_ss@...
[#11937] ruby の確認事項 — HQss_YasuiS/hq_ss@...
[#11960] document|implemnt bu on Array#[x..y] — kjana@... (YANAGAWA Kazuhisa)
ruby-man-1.2-jp では
[#11999] pack/unpack — Shugo Maeda <shugo@...>
前田です。
[#12000] how to make class? — "Kikutani, Makoto" <kikutani@...>
なんだかデータ変換で難しい話が続いているので、初心者の
ごとけんです
自分で始めたスレッドながらいきなりサブジェクトを変える奴。
ごとけんです
まつもと ゆきひろです
あおきです。
あおきです。
ごとけんです
Thu, Feb 11, 1999 at 04:32:52PM +0900 において
まつもと ゆきひろです
まつもと ゆきひろです
Sat, Feb 13, 1999 at 12:37:36AM +0900 において
青山です。
[#12046] Re: document|implemnt bu on Array#[x..y] — Inaba Hiroto <inaba@...>
稲葉です.
[#12090] !=~ — "Kikutani, Makoto" <kikutani@...>
わははそうか、今まで =~ の否定は !=~ だと思っててて
福間@福岡 です。
立石です。
まつもと ゆきひろです
ごとけんです
Tue, Feb 16, 1999 at 10:40:46AM +0900 において
ごとけんです
立石です。
ごとけんです
えぐち@エスアンドイー です。
ごとけんです
えぐち@エスアンドイー です。
ごとけんです
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
中田@Vectorです。
[#12105] ruby 1.2.3 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#12117] INET client — "Kikutani, Makoto" <kikutani@...>
あおきさんのINET clientへの質問コーナー
保科です。
Wed, Feb 17, 1999 at 02:24:11AM +0900 において
linux-usersに出したら蹴られてしまった。
あおきです。
前田です。
前田です。
[#12143] Iterator with proc object — cercine@... (Takashi Ikeda)
池田です。
[#12163] Number with unit — Jun Adachi <adachi@...>
安達@沖データと申します。
[#12183] ruby-mode + font-lock-mode — SONODA Yoshihide (園田 吉英) <ysonoda@...>
はじめまして、園田と申します。
前田です。
まつもと ゆきひろです
園田@九大です。
[#12188] Re: Meeting2000 リリースします — 松尾尚典 <matsuo_hisanori@...21.odn.ne.jp>
松尾です。
ruby-listの皆様,
まつもと ゆきひろです
ruby-listのみなさん,
前橋です。
ruby-listのみなさん,
前橋です。
原です。
[#12216] SGmail doesn't download — moochan <moochan@...>
moochanです。
Mon, Feb 22, 1999 at 10:00:15PM +0900 において
[#12217] It wants to install mon_ruby — moochan <moochan@...>
moochanです。
前田です。
moochanです.
まつもと ゆきひろです
moochanです。
前田です。
moochan です。
前田です。
moochan です.
[#12248] tempfile — Kikutani Makoto <kikutani@...>
tempファイルをよく作るのですが、
まつもと ゆきひろです
Tue, Feb 23, 1999 at 01:30:15PM +0900 において
[#12260] slanglib-0.11 — Kikutani Makoto <kikutani@...>
久々に in.coming にupしました。
[#12301] Meeting2000-0_92 — Toshiki Komai <komai@...4u.or.jp>
松尾です。おはようございます。
原です。
From: Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp>
原です。
From: Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp>
ruby-listのみなさま, && なひ,と言います.
原です。
松尾です。
[#12302] [BUG] Segmentation fault — polygon <polygon@...>
ポリゴンです。
[#12309] [REQ] rlex.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
In message <199902231347.WAA00565.keiju@bc.mbn.or.jp>
In message <199902241316.WAA03663@mail1.os.xaxon.ne.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199902261443.XAA10667.keiju@cupmail0.rational.com>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903010918.SAA16824.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903011352.WAA17487.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903040444.NAA21095.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903090457.NAA00259.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903091600.BAA02510.keiju@bc.mbn.or.jp>
In message <199903101010.TAA04803@mail1.os.xaxon.ne.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903161435.XAA18621.keiju@bc.mbn.or.jp>
けいじゅ@日本ラショナルソフトウェアです.
In message <199903171611.BAA20228.keiju@bc.mbn.or.jp>
前田です。
[#12315] RE: (閑話) 「 XML 開発者の日」にて Ruby 紹介ありですね。 — 助田 雅紀 <masaki.suketa@...>
助田です.
こんにちは。あつこです。
こんにちは。あつこです。
こんにちは。あつこです。
高橋です。あわわわ。
[#12354] Re: [BUG] Segmentation fault — "Kozuka Masahiro" <kozuka@...>
ruby-listのみなさま、こんばんは。こづままさひろです。
[#12357] my PID — "Kikutani, Makoto" <kikutani@...>
Maildirのファイル名規則で、自分のPIDを使うん部分があるんですが
[#12366] \1 がうまく行かない — Sinichiro Dezawa <dezawa@...>
出沢です
[#12398] 文字の正規 (?) 化 — m_seki@...
[#12412] Perllib for ruby — Yoshinori Toki <toki@...>
土岐です。
まつもと ゆきひろです
福嶋です。
[#12414] naming rule — Akaishi <akaishi@...>
Ruby でのクラスの名前のつけ方について質問です。
[#12457] making ruby on Digital Unix — Yuji Shigehiro <sigehiro@...>
以前 tcltklib というものを作って, 一部の人を混乱に陥れてしまった(?)
まつもと ゆきひろです
[ruby-list:12047] Re: What's DelegateClass ?
あおきです。
In Mail "[ruby-list:12017] Re: What's DelegateClass ?"
じぶん wrote:
> > |ですね,これは使いでがあるので何かドキュメントがあったほうが
> > |よいかも.
> >
> > テクニカルライター募集中.^^;;;
> 応募(?)してもいいでしょうか。
とりあえず書いてみました。
-------------------------------------------------------------------
あおきみねろう@一橋大学
mail to: aamine@dp.u-netsurf.ne.jp
website: http://www1.u-netsurf.ne.jp/~brew/mine/
====================================================================
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#FFFFFF">
<HR>
<dl>
<dt><H1><a name="Delegator">Delegator</a></H1>
<dd>
<P>
クラス階層とは関係なく、他のオブジェクトのインターフェイス・
実装を利用する(以下、delegate)ための抽象クラスです。
Delegatorクラスはオブジェクト単位のdelegateを行うためのクラス
なので、クラス単位でdelegateをするときには、DelegateClass
メソッドを使ってください。
ちなみに、このクラスには下位互換性のためにDelegaterという別名
があります。
</P>
<dt> <h2>スーパークラス:</h2>
<dd>
<dl>
<dt><A HREF="Object.html"><code>Object</code></A>
</dl>
<dt> <h2>クラスメソッド:</h2>
<dd>
<DL COMPACT>
<DT>
<A NAME="Delegator.new"><CODE>new([<VAR>obj</VAR>])</CODE></A>
<DD>
<p>
引数<code>obj</code>にはdelegateしたいオブジェクトを渡します。
下位クラスで<code>initialize</code>を再定義するときは必ず
<code>super</code>を呼びだす必要があります。
</p>
<p>
また、メソッドhash、eql?はdelegateされないので、Delegator
の下位クラスのインスタンスをHashのキーに使うときは、この
ふたつのメソッドを再定義してください。具体的には、
<blockquote><pre>
obj.eql? Delegator.new( obj )
obj.hash == Delegator.new( obj ).hash
</pre></blockquote>
の両方が成立する必要があります。
</p>
</DL>
<dt> <h2>メソッド:</h2>
<dd>
<DL COMPACT>
<DT>
<a name="__getobj__">__getobj__</a>
<DD>
<p>
下位クラスでは目的にあわせてこのメソッドを再定義しなければ
いけません。このメソッドが再定義されないままだと、そのクラス
のメソッドが呼ばれたときに例外NotImplementErrorが発生します。
</p>
</DL>
<dt>用例:
<dd>
<blockquote><pre>
#!/usr/local/bin/ruby
require 'delegate'
class SimpleDelegator < Delegator
# SimpleDelegatorの定義そのまま。
# 他に例が思いつかないところが苦しい
def __getobj__
@obj
end
def __setobj__( obj )
@obj = obj
end
def initialize( obj )
super
__setobj__( obj )
end
end
dele = SimpleDelegator.new( STDOUT )
dele.write 'this is from delegated STDOUT' # STDOUTに出力される
</pre></blockquote>
</dl>
<HR>
<dl>
<dt><H1><a name="SimpleDelegator">SimpleDelegator</a></H1>
<dd>
<P>
SimpleDeletatorクラスは、クラス作成時または__setobj__であたえた
オブジェクトのdelegateを行うクラスです。
</P>
<dt> <h2>スーパークラス:</h2>
<dd>
<dl>
<dt> <A HREF="#Delegator"><code>Delegator</code></A>
</dl>
<dt> <h2>クラスメソッド:</h2>
<dd>
<DL COMPACT>
<DT>
<A NAME="SimpleDelegator.new"><CODE>new([<VAR>obj</VAR>])</CODE></A>
<DD>
<p>
引数objにはその実装を利用したいオブジェクトを渡します。
</p>
</DL>
<dt> <h2>メソッド:</h2>
<dd>
<DL COMPACT>
__getobj__
<DT>
<a name="__getobj__">__getobj__</a>
<DD>
<p>
このクラスでは単にインスタンス変数に格納されているオブジェクトを
渡すだけです。
</p>
<DT>
<a name="__setobj__"><code>__setobj__(<var>obj</var>)</code></a>
<DD>
<p>
delegateを行うオブジェクトをobjに変更します。
</p>
</DL>
<dt>用例:
<dd>
<blockquote><pre>
#!/usr/local/bin/ruby
require 'delegate'
require 'socket'
class SMTPsocket < SimpleDelegator
def initialize( host = 'localhost', port = 25 )
# 組みこみクラスでインスタンス変数が使える。
# 現状で一番有効な利用法という話もある。
@sock = TCPsocket.open( host, port )
# 忘れてはいけない
super( @sock )
end
# 定義をいろいろ書く…
end
</pre><blockquote>
</dl>
<HR>
<dl>
<dt><code>DelegateClass(<var>dele_class</var>)</code>
<dd>
<P>
第一引数に与えられたクラスのクラスメソッド・メソッドを
ほぼ全て持った名無しクラスを新しく作ってそれを返します。
またそのクラスでは、必ずinitializeでdele_classのインス
タンスをsuperに渡さなければいけません。
</P>
<dt>用例
<dd>
<blockquote><pre>
#!/usr/local/bin/ruby
require 'delegate'
class NilArray < DelegateClass( Array )
def initialize
super( [] )
# Arrayは組みこみクラスなので今のところインスタンス
# 変数は使えないが、Delegateされたクラスなら
# インスタンス変数が使える
@a = 1
end
def []( idx )
# 常にnilをかえすように変更してみる
return nil
end
end
obj = NilArray.new( 3 )
p obj.type # Array
obj.push 1
p obj[ 0 ] # nil (ちゃんと変更されている)
p obj # [ 1 ]
p obj.pop # 1
</pre>
</blockquote>
</dl>
<HR>
</BODY>
</HTML>
===================================================================