[#8468] require で SEGV — ruby <g96p0935@...>
西本です。
[#8469] [PATCH] -s command line option — nobu.nakada@...
なかだです。
[#8507] mode_t in file.c — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8530] Enumerable and rand — Koretsugu Daigoro <tmmcross@...>
これつぐです。
まつもと ゆきひろです
これつぐです。
まつもと ゆきひろです
原です。
まつもと ゆきひろです
原です。
ごとけんです
これつぐです。
[#8565] interface declaretion — "Dai.K." <MAP2303@...>
[#8581] Re: [ruby-list:19228] Ruby 1.4.3 — Katsuyuki Komatsu <komatsu@...>
小松です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
小松です。
まつもと ゆきひろです
小松です。
[#8622] Win32API (Re: Ruby 1.4.3 binaries for Cygwin and DJGPP) — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
有馬@FITECです。
よしだです
[#8623] [BUG?] core dump `ruby -r debug' — IWAMURO Motonori <iwa@...>
岩室@富士通です。
[#8635] slow gsub — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
[#8645] urllib and httplib — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
なひです.
高橋征義です。
なひです.
まつもと ゆきひろです
なひです.
青山です。
なひです.
高橋征義です。
まつもと ゆきひろです
高橋征義です。
なひです.
西@九大です。
なかだです。
あおきです。
[#8650] [PATCH] Ruby/Tk — Koji Arai <JCA02266@...>
新井です。
新井です。
新井です。
新井です。
永井@知能.九工大です.
新井です。
永井@知能.九工大です.
新井です。
新井です。
[#8665] [mswin32] STDERR does not work during `_function. — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです.
金子です。
金子です。
[#8667] make symlinks around libruby.so in instruby.rb — akira yamada / やまだあきら <akira@...>
[#8692] [win] dir name — KANEKO Naoshi <wbs01621@...>
金子です。
小田@QNES です。
えぐち@エスアンドイー です。
小田@QNES です。
えぐち@エスアンドイー です。
なかだです。
小田@QNES です。
えぐち@エスアンドイー です。
小田@QNES です。
[#8705] [mswin32] 100% CPU usage when use sleep — Katsuyuki Komatsu <komatsu@...>
小松です。
まつもと ゆきひろです
小松です。
[#8722] [mswin32] Win32API — KANEKO Naoshi <wbs01621@...>
金子です。
小松です。
まつもと ゆきひろです
[#8741] Re: [ruby-list:19945] Re: array + empty string — Wakou Aoyama <wakou@...>
青山です。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
ごとけんです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#8742] [REQ] Array#each{|a,b,...|}, Array#shift/pop(num) — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
西@九大です。
あおきです。議論も好き。
西@九大です。
あおきです。
まつもと ゆきひろです
有馬です。
knuです。
まつもと ゆきひろです
これつぐです。
knuです。
まつもと ゆきひろです
あおきです。
まつもと ゆきひろです
In message "[ruby-dev:8792] Re: [REQ] Array#each{|a,b,...|}, Array#shift/pop(num)"
まつもと ゆきひろです
ごとけんです
ごとけんです
なかだです。
ごとけんです
[ruby-dev:8720] Re: initialization & super
あおきです。
In mail "[ruby-dev:8719] Re: initialization & super"
"Shigeo Kobayashi" <shigeo@tinyforest.gr.jp> wrote:
> 小林です。
> でした。調べた結果、原因が以下のようであることがわかりました。
> static VALUE BigFloat_new(VALUE self,VALUE nFig,VALUE iniValue)
> {
> ...
> return Data_Wrap_Struct(CLASS_OF(self) ,0,BigFloat_delete,pv);
> }
> とやるとだめで、
> return Data_Wrap_Struct(self ,0,BigFloat_delete,pv);
> だとOKです。
> だめな例は、md5init.c、OKなのはsdbmのinit.cを例に作成しました。
> 共に配布ライブラリです。どちらが正しいのでしょうか?
どちらも正しいです。
(以下、次のような記法を使います。
クラス x のクラスメソッド(特異メソッド) m => x.m
クラス x のインスタンスのメソッド m => x#m )
md5init.c の例というのは md5_clone() のことだと思いますが、
これは MD5#clone の定義ですから、
引数の self は MD5 クラスのインスタンスです。
Data_Wrap... で欲しいのはクラスオブジェクト MD5 ですから、
必要なのは CLASS_OF(self) です。
一方、sdbm の例というのは fsdbm_s_open のことだと思いますが、
これは SDBM.open の定義ですから、
引数の klass(=self) はクラスオブジェクト SDBM です。
このとき欲しいのはクラスオブジェクト SDBM ですから、必要なのは
klass そのままです。( CLASS_OF(klass)はオブジェクト Class )
小林さんの BigFloat の場合だと、定義しているのは BigFloat.new
ですから、self はクラスオブジェクト BigFloat です。
つまり、self そのままが正解です。
ちなみにこのときの CLASS_OF(self) はオブジェクト Class です。
-------------------------------------------------------------------
あおきみねろう