From: "mame (Yusuke Endoh)" Date: 2012-11-20T21:29:06+09:00 Subject: [ruby-core:49707] [ruby-trunk - Feature #4553] Add Set#pick and Set#pop Issue #4553 has been updated by mame (Yusuke Endoh). Target version set to next minor ---------------------------------------- Feature #4553: Add Set#pick and Set#pop https://bugs.ruby-lang.org/issues/4553#change-33232 Author: adgar (Michael Edgar) Status: Assigned Priority: Low Assignee: knu (Akinori MUSHA) Category: Target version: next minor =begin A very common operation on sets is to take an arbitrary element from them at O(1) cost. I know typically it's suggested that library additions go out as a gem to see community review. However, to me it seems to be a glaring omission to lack such an operation on a built-in, fundamental data structure, so I've gone straight to the bug tracker. I wasn't too sure which method names to use as I've often heard "take" in lieu of "pop," so I just used the names Wikipedia uses. Consider them flexible. "Pick" selects an arbitrary element, and "pop" selects and deletes it. I've provided a very simple patch that implements the necessary behavior. Thoughts? =end -- http://bugs.ruby-lang.org/