[#19011] open-uri - very easy net access library — Tanaka Akira <akr@...17n.org>

HTTP, FTP に簡単にアクセスするための open-uri というライブラリを作って

19 messages 2002/12/06

[#19066] ruby 1.6.9 preview4 予告 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

41 messages 2002/12/13
[#19079] Re: ruby 1.6.9 preview4 予告 — "Akinori MUSHA" <knu@...> 2002/12/16

At Fri, 13 Dec 2002 15:28:47 +0900,

[#19086] Re: ruby 1.6.9 preview4 予告 — UENO Katsuhiro <unnie@...> 2002/12/17

うえのです。

[#19087] Re: ruby 1.6.9 preview4 予告 — matz@... (Yukihiro Matsumoto) 2002/12/17

まつもと ゆきひろです

[#19083] Re: [ruby-cvs] ruby: * file.c (utimbuf): need to define for VC++. — WATANABE Hirofumi <eban@...>

わたなべです。

11 messages 2002/12/16

[#19127] Re: 1.6.8-preview4 build failed (on Vine Linux 2.1.5) (PR#373) — nobu.nakada@...

なかだです。

16 messages 2002/12/19
[#19129] Re: 1.6.8-preview4 build failed (on Vine Linux 2.1.5) (PR#373) — WATANABE Hirofumi <eban@...> 2002/12/19

わたなべです。

[#19198] ruby-1.8.0 / yield(nil)とyield()のちがい — m_seki@...

38 messages 2002/12/25
[#19209] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — matz@... (Yukihiro Matsumoto) 2002/12/27

まつもと ゆきひろです

[#19218] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — m_seki@... 2002/12/27

[#19219] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — matz@... (Yukihiro Matsumoto) 2002/12/27

まつもと ゆきひろです

[#19264] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — matz@... (Yukihiro Matsumoto) 2003/01/01

まつもと ゆきひろです

[#19266] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — Tanaka Akira <akr@...17n.org> 2003/01/01

In article <1041383157.631472.21307.nullmailer@picachu.netlab.jp>,

[#19271] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — matz@... (Yukihiro Matsumoto) 2003/01/01

まつもと ゆきひろです

[#19272] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — Tanaka Akira <akr@...17n.org> 2003/01/01

In article <1041394108.920587.21729.nullmailer@picachu.netlab.jp>,

[#19276] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — matz@... (Yukihiro Matsumoto) 2003/01/01

まつもと ゆきひろです

[#19278] Re: ruby-1.8.0 / yield(nil)とyield()のちがい — Tanaka Akira <akr@...17n.org> 2003/01/01

In article <1041420724.492653.22355.nullmailer@picachu.netlab.jp>,

[ruby-dev:18980] Re: st_foreach()

From: nobu.nakada@...
Date: 2002-12-02 04:31:49 UTC
List: ruby-dev #18980
なかだです。

At Sun, 1 Dec 2002 16:41:52 +0900,
Takaaki Tateishi wrote:
> また,st_foreach()自体をマクロにすることも試していたのですが,
> 
> 1) st_foreach_cont()がある場合には速度があまり変わらず遅くなる場合もあ
> ります.これは return でforループを抜ける部分を条件文に書き換えたことが
> 影響するためだと思います.
> 
> 2) st_foreach_cont()を使わない場合には,st_foreach_cont()を単独で使う場
> 合とほとんど変わりません.gccの最適化でうまく処理されているのかもしれま
> せんが,よく分かりません.
> 
> 結局,st_foreach()だけをマクロにする場合と,st_foreach_cont()だけを追加
> する場合ではあまり変わらず,組み合わせても相乗効果はなさそうです.

こんなのを思い付きましたが、修正個所が多くなりそうなので実際に
は試してません。

#define ST_FOREACH_BEGIN(table) do { \
    st_tabel *st_tbl = (table); \
    st_table_entry *st_ptr, *st_last; \
    int st_idx; \
    for (st_idx = 0; st_idx < st_tbl->num_bins; ++st_idx) { \
	st_last = 0; \
	for (st_ptr = st_tbl->bins[st_idx]; st_ptr; st_ptr = st_ptr->next)

#define ST_FOREACH_END } \
} while (0)

#define ST_DELETE_CURRENT_ITEM() do { \
    st_table_entry *tmp = st_ptr; \
    st_ptr = st_ptr->next; \
    if (st_last == 0) { \
	st_tbl->bins[st_idx] = st_ptr; \
    } \
    else { \
	st_last = st_ptr; \
    } \
    st_tbl->num_entries--; \
    free(tmp); \
} while (0)

#define ST_FOREACH_KEY st_ptr->key
#define ST_FOREACH_VALUE st_ptr->record

/* 使用例 */
static VALUE
rb_hash_index(hash, value)
    VALUE hash, value;
{
    ST_FOREACH_BEGIN(RHASH(hash)->tbl) {
	if (rb_equal(ST_FOREACH_VALUE, value)) {
	    return key;
	}
    } ST_FOREACH_END;
    return Qnil;
}

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread