[#1185] ruby on Macintosh — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>
みなさまはじめまして。藤本と申します。1ヵ月くらい前にDBMのことで
6 messages
1998/01/02
[#1193] SHA module — Eiji-usagi-MATSUmoto <ematsu@...>
うさぎです
5 messages
1998/01/05
[#1194] html check — masaki.suketa@...
助田です。
5 messages
1998/01/05
[#1215] var arg method — Kikutani Makoto <kikutani@...>
きくたにです。
10 messages
1998/01/06
[#1216] Re: var arg method
— matz@... (Yukihiro Matsumoto)
1998/01/06
まつもと ゆきひろです
[#1218] Re: var arg method
— Kikutani Makoto <kikutani@...>
1998/01/06
きくたにです。説明不足ですみません。
[#1235] RE: ruby on Macintosh — 青山 和光 <PXN11625@...>
In-Reply-To: [ruby-dev:1185] ruby on Macintosh
8 messages
1998/01/07
[#1249] Ruby/Gtk — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
1998/01/08
[#1273] install *.rb to lib/ — Kikutani Makoto <kikutani@...>
rubyのmake installのとき、tcltklibのように、*.so 以外に *.rb を
7 messages
1998/01/11
[#1283] slanglib — Kikutani Makoto <kikutani@...>
きくたにです。
13 messages
1998/01/13
[#1285] Re: slanglib
— WATANABE Hirofumi <watanabe@...>
1998/01/14
わたなべです.
[#1303] tk update — Kikutani Makoto <kikutani@...>
Tkでupdateコマンドを使う必要が生じたのですが、できないようですね。
6 messages
1998/01/21
[#1320] [MethodIndex] Bug and question — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
32 messages
1998/01/23
[#1321] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/23
まつもと ゆきひろです
[#1323] Re: [MethodIndex] Bug and question
— keiju@... (Keiju ISHITSUKA)
1998/01/23
けいじゅ@日本ラショナルソフトウェアです.
[#1332] Re: [MethodIndex] Bug and question
— keiju@... (Keiju ISHITSUKA)
1998/01/27
けいじゅ@日本ラショナルソフトウェアです.
[#1333] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/27
まつもと ゆきひろです
[#1334] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/27
けいじゅ@日本ラショナルソフトウェアです.
[#1351] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/29
けいじゅ@日本ラショナルソフトウェアです.
[#1353] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/29
まつもと ゆきひろです
[#1354] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/29
けいじゅ@日本ラショナルソフトウェアです.
[#1355] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/30
まつもと ゆきひろです
[#1358] Re: [MethodIndex] Bug and question
— keiju@... (石塚圭樹 )
1998/01/30
けいじゅ@日本ラショナルソフトウェアです.
[#1359] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/01/30
まつもと ゆきひろです
[#1363] Re: [MethodIndex] Bug and question
— matz@... (Yukihiro Matsumoto)
1998/02/02
まつもと ゆきひろです
[#1364] Re: [MethodIndex] Bug and question
— keiju@... (Keiju ISHITSUKA)
1998/02/02
けいじゅ@日本ラショナルソフトウェアです.
[#1339] パースエラー等の嵐をDos窓で受けるには...? — Masao Kanemitsu <masao-k@...>
4 messages
1998/01/29
[#1344] ruby-1.1b6 and rbc — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
5 messages
1998/01/29
[ruby-dev:1216] Re: var arg method
From:
matz@... (Yukihiro Matsumoto)
Date:
1998-01-06 06:59:12 UTC
List:
ruby-dev #1216
まつもと ゆきひろです
In message "[ruby-dev:1215] var arg method"
on 98/01/06, Kikutani Makoto <kikutani@jdc.ericsson.se> writes:
|きくたにです。
|
|Slang拡張製作中です。
|
|rubyのほうで、 def slsmg_printf(fmt, *arg) で定義されるような
|メソッドを、Cのほうで、 SLsmg_printf あるいは SLsmg_vprintf を呼ぶ
|ようにして作ります。これらはprintf(3)、vprintf(3)に相当するものです。
|
|rb_define_method の argcに -1 を入れて配列で渡し、
|rb_scan_args のフォーマットに3文字目に * を入れて使うのかとも
|思うのですが、具体的なコーディングがよくわかりません。
rb_define_methodのargcに-1を指定すると実際の呼出し時には
argc/argv/selfの形式で引数が渡されます(-2を指定すると
self/args(Array)で渡される).
SLsmg_vprintfの具体的な呼び出し方が分かりませんが,
static VALUE
slsmg_printf(argc, argv, self)
int argc;
VALUE *argv;
VALUE self;
{
char *fmt;
int i;
Check_Type(argv[0], T_STRING);
fmt = RSTRING(argv[0])->ptr;
argv++; argc--;
for (i=0;i<argc;i++) Check_Type(argv[i], T_STRING);
SLsmg_printf(fmt, argc, argv); //???
return Qnil;
}
のようにできればよいのではないかと思います.SLsmg_vprintfの
引数によってはargcによって場合わけする必要が出て来るでしょう.
switch (argc) {
case 0:
SLsmg_printf(fmt);
break;
case 1:
SLsmg_printf(fmt, RSTRING(argv[0])->ptr);
break;
case 2:
SLsmg_printf(fmt, RSTRING(argv[0])->ptr, RSTRING(argv[1])->ptr);
break;
:
}
rb_scan_argsのフォーマット文字列に"*"を指定した場合対応する
変数にはRubyの配列が格納されます.一般的にはCからはargc/argv
の方が使いやすいので,あまり必要ないと思います.
まつもと ゆきひろ /:|)