[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:28863] Re: [Feature #2348] RBTree Should be Added to the Standard Library

From: Yusuke ENDOH <mame@...>
Date: 2010-03-22 11:05:48 UTC
List: ruby-core #28863
Hi,

Thank you for your detailed reply!


2010/3/22 Bill Kelly <billk@cts.com>:
> Hash is not maintained in key-sorted order.
>
> Hash does not offer upper_bound(key) or lower_bound(key)
> or bound(key1, key2) in O(log N) time.

Good.  I start to want RBTree too :-)


> Hash doesn't provide fast search for partial string key.

You mean prefix search, right?
And, can partial *array* key be handled?


> puts dict.upper_bound("mult") ?# => ["fulsome", "baz/doc3.txt"]

Is this correct?  I expect it to return ["multivitamins", "foo/doc1.txt"]
or ["multivitamins", "bar/doc2.txt"].


> However, #bound just retunrs [] ?:(

I guess it is because upper_bound is broken.


> I do think that for RBTree and MultiRBTree to be as generally
> useful as C++ std::map and std::multimap, there should be
> versions of methods like bound, lower_bound, upper_bound, that
> return an enumerator.

Agreed.  I think bound should return an enumerator instead of an
array when block is not given.


You presented dictionary-like application and priority queue as
use cases.  I'm convinced at the explanation.
But RBTree seems to have some problems of not only simple bug but
also API design.  If so, it is slightly premature, so it may be
better to defer its bundle to 1.9.3 or later.

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread