http://lionet.livejournal.com/ ([identity profile] lionet.livejournal.com) wrote in [personal profile] kika 2009-12-21 02:34 pm (UTC)

А в чём дело? Если они просто её "имеют" — то дерево не перестраивается и даже не читается, так как срабатывает short-cirquit в псевдокоде, первой же строчкой.

А если значения флуктуируют в очень небольшом промежутке, тогда всё зависит от способа организации этого bag'а: есть ли в нём возможность указать secondary key. В простейшем случае можно сделать двухуровневый set: на первом уровне ключём является скорость, на втором - хост. Экстраполируя, получаем API для бэгов произвольной глубины:
transform(MultiBag, Keys, TransF) -> Result
Types   MultiBag = gb_trees()
       Keys = [term()]
       TransF = fun(Entry) -> retain | {replace, Entry} | delete


Пример:
transform(…, [0, "localhost"], fun({0, "localhost", _Key}) -> retain end).

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting