[#37708] [Ruby 1.9 - Bug #4956][Open] [PATCH] string.c (tr_s_bang): fix leak with heap strings — Eric Wong <normalperson@...>
Eric Wong <normalperson@yhbt.net> wrote:
On Wed, Jul 06, 2011 at 04:46:44AM +0900, Eric Wong wrote:
[#37714] test fail test/matrix/test_matrix.rb:321 — KOSAKI Motohiro <kosaki.motohiro@...>
http://59.106.172.211/~chkbuild/ruby-trunk/log/20110701T110101Z.log.html.gz
2011/7/1 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
Test fixed, thanks (indeed, Matrix#** now implements non integer exponents)=
2011/7/2 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
[#37724] open-ssl related errors on MacOSX — SASADA Koichi <ko1@...>
Hi,
2011/7/2 SASADA Koichi <ko1@atdot.net>:
2011/7/2 Martin Bo=DFlet <martin.bosslet@googlemail.com>:
[#37730] [Ruby 1.9 - Bug #4962][Open] come back gem_prelude! — Yusuke Endoh <mame@...>
On Sat, Jul 02, 2011 at 02:18:35PM +0900, Yusuke Endoh wrote:
[#37757] [Ruby 1.9 - Bug #4969][Open] Subtle issue with require — Thomas Sawyer <transfire@...>
[#37761] [Ruby 1.9 - Feature #4970][Open] FileUtils refactored — Thomas Sawyer <transfire@...>
[#37805] [Ruby 1.8 - Bug #4979][Open] `require 'foo'` is ambiguous when there is both foo.rb and foo.so — Antonio Terceiro <terceiro@...>
[#37840] [Ruby 1.9 - Feature #4985][Open] Add %S[] support for making a list of symbols — Aaron Patterson <aaron@...>
I guessed that %S(...) is S-expr syntax.
[#37853] [Ruby 1.9 - Bug #4989][Open] Document Socket constants — Eric Hodel <drbrain@...7.net>
Why change all the statuses to low here? I don't see the validity of
Hi
On Fri, Jul 8, 2011 at 08:25, KOSAKI Motohiro <kosaki.motohiro@gmail.com> wrote:
[#37858] [Ruby 1.9 - Bug #4992][Open] finalizer中のThread.newでSEGV — Shota Fukumori <sorah@...>
> -- Thread.new in finalizer raises SEGV
[#37866] [Backport87 - Feature #4996][Open] About 1.8.7 EOL — Shyouhei Urabe <shyouhei@...>
[#37908] [Ruby 1.9 - Bug #5002][Open] Ripper fails to distinguish local vars from vcalls [PATCH] — Michael Edgar <michael.j.edgar@...>
[#37913] [Ruby 1.9 - Bug #5003][Open] Enumerator#next segfaults in OS X Lion (10.7) — Ganesh Gunasegaran <ganesh.gunas@...>
[#37917] [Ruby 1.9 - Feature #5005][Open] Provide convenient access to original methods — Lazaridis Ilias <ilias@...>
[#37932] [Ruby 1.9 - Feature #5008][Open] Equal rights for Hash (like Array, String, Integer, Float) — Suraj Kurapati <sunaku@...>
On Thu, Mar 29, 2012 at 13:25, rosenfeld (Rodrigo Rosenfeld Rosas) <
[#37936] [Ruby 1.9 - Feature #5010][Open] Add Slop(-like) in stdlib and deprecate current OptionParser API — Rodrigo Rosenfeld Rosas <rr.rosas@...>
Hi,
Em 09-07-2011 20:13, Nobuyoshi Nakada escreveu:
[#37985] [Ruby 1.9 - Bug #2616] unable to trap in doze — Motohiro KOSAKI <kosaki.motohiro@...>
[#37988] [Ruby 1.9 - Feature #5016][Open] Kernel#caller with negative limit should limit result to N initial frames — Nikolai Weibull <now@...>
[#37997] psych and libyaml v0.1.4 testing? — Jon <jon.forums@...>
Anyone run into issues with psych and the latest libyaml patchlevel?
[#38011] [Ruby 1.9 - Bug #5018][Open] ruby_1_9_3 branch is missing from official GitHub mirror — Luis Lavena <luislavena@...>
[#38096] [Ruby 1.9 - Feature #5033][Open] PATCH: 1.9: gc_mark_children: Avoid gc_mark() tail recursion, use goto again. — Kurt Stephens <ks.ruby@...>
[#38109] [Ruby 1.9 - Bug #5034][Open] C Source Code formatting — Lazaridis Ilias <ilias@...>
[#38137] [Ruby 1.9 - Bug #5038][Open] Ruby 1.9.2 stops on some Regular Expressions — Bob Ambartsumov <bob@...>
[#38140] [Ruby 1.9 - Feature #5041][Open] Set FD_CLOEXEC for all fds (except 0, 1, 2) — Akira Tanaka <akr@...>
[#38158] Proposal to merge net2-http for Ruby 1.9.4 — Yehuda Katz <wycats@...>
I gave a talk at Ruby Kaigi about my work on Net::HTTP (
2011/7/18 Yehuda Katz <wycats@gmail.com>:
Yehuda Katz
[#38164] [Ruby 1.9 - Bug #5046][Open] Bug with xmlrpc::client, basic auth and long authentication strings — Herwin Weststrate <herwin@...>
[#38171] [Ruby 1.9 - Bug #5047][Open] Segfault (most likely involving require) — Jack Christensen <jack@...>
Hiroshi Nakamura <nakahiro@gmail.com> wrote:
On Jul 22, 2011, at 2:41 PM, Eric Wong wrote:
Thank you for the trying the patch.
[#38172] [Backport87 - Backport #5048][Open] Make failed on tk bindings under OSX Lion fresh install — "Wayne E. Seguin" <wayneeseguin@...>
[#38182] [Ruby 1.9 - Feature #5054][Open] Compress a sequence of ends — ANDO Yasushi ANDO <andyjpn@...>
[#38197] [Ruby 1.9 - Feature #5056][Open] About 1.9 EOL — Shyouhei Urabe <shyouhei@...>
Hello,
Hi,
Hi,
On 23/08/11 at 06:50 +0900, SASADA Koichi wrote:
(2011/08/23 20:09), Lucas Nussbaum wrote:
On 23/08/11 at 20:20 +0900, NARUSE, Yui wrote:
[#38295] [Ruby 1.9 - Feature #5064][Open] HTTP user-agent class — Eric Hodel <drbrain@...7.net>
[#38343] [Ruby 1.9 - Bug #5068][Open] Issue with "duplicated when clause is ignored" — Stefano Mioli <stefano.mioli@...>
[#38367] [Ruby 1.9 - Feature #5072][Open] Avoid inadvertent symbol creation in reflection methods — Jeremy Evans <merch-redmine@...>
[#38391] [Ruby 1.9 - Bug #5076][Open] Mac OS X Lion Support — Yui NARUSE <naruse@...>
[#38451] [Ruby 1.9 - Bug #5090][Open] Segfault using Enumerator — Robert Syme <rob.syme@...>
[#38464] [Ruby 1.9 - Bug #5091][Open] Can't require './.testrb' — Thomas Sawyer <transfire@...>
[#38491] 1.9.3 Status Update? — Joshua Ballanco <jballanc@...>
Hello ruby-core,
[#38510] [Ruby 1.9 - Feature #5097][Assigned] Supported platforms of Ruby 1.9.3 — Yui NARUSE <naruse@...>
Yui NARUSE <naruse@airemix.jp> wrote:
On Mon, Jul 25, 2011 at 11:52 PM, Yui NARUSE <naruse@airemix.jp> wrote:
[#38538] [Ruby 1.9 - Feature #5101][Open] allow optional timeout for TCPSocket.new — Eric Wong <normalperson@...>
2011/7/27 Eric Wong <normalperson@yhbt.net>:
Tanaka Akira <akr@fsij.org> wrote:
2011/7/29 Eric Wong <normalperson@yhbt.net>:
2011/7/30 Tanaka Akira <akr@fsij.org>:
[#38610] [Ruby 1.9 - Feature #5120][Open] String#split needs to be logical — Alexey Muranov <muranov@...>
[ruby-core:38139] [Ruby 1.9 - Feature #4766] Range#bsearch
Issue #4766 has been updated by Thomas Sawyer.
@eric So you are saying #bsearch _is_ #beach --that the minimum value return is just an aside to have the return value be useful? But won't the min value logic interfere with trying to do anything else with bsearch, e.g. "to_enum(:bsearch).max"?
Also, the proposed documentation starts out with "Returns the minimum value", so that indicates a different main purpose.
n
----------------------------------------
Feature #4766: Range#bsearch
http://redmine.ruby-lang.org/issues/4766
Author: Yusuke Endoh
Status: Assigned
Priority: Normal
Assignee: Yusuke Endoh
Category:
Target version: 1.9.x
Hello,
I propose Range#bsearch for binary search:
ary = [0, 4, 7, 10, 12]
p (0..4).bserach {|i| ary[i] >= 4 } #=> 1
p (0..4).bserach {|i| ary[i] >= 6 } #=> 2
p (0.0...Float::INFINITY).bsearch {|x| Math.log(x) >= 0 } #=> 1.0
Rdoc:
* call-seq:
* rng.bsearch {|obj| block } -> element
*
* Returns the minimum value in range which meets the block by binary search.
* The block must be monotone for arguments; in other words, it must have any
* following properties:
*
* - there is a value so that the block returns false for any smaller value
* than the value, and that the block returns true for any bigger (or
* equal) value than the value,
* - the block always return true, or
* - the block always return false.
*
* If the block is not monotone, the behavior is not unspecified.
*
* Returns nil when there is no value that meets the block..
*
*
* ary = [0, 4, 7, 10, 12]
* (0...ary.size).bsearch {|i| ary[i] >= 4 } #=> 1
* (0...ary.size).bsearch {|i| ary[i] >= 6 } #=> 2
* (0...ary.size).bsearch {|i| ary[i] >= 8 } #=> 3
* (0...ary.size).bsearch {|i| ary[i] >= 100 } #=> nil
*
* (0.0...Float::INFINITY).bsearch {|x| Math.log(x) >= 0 } #=> 1.0
*
*
* Note that this method does not stop search immediately when the block
* returns true. This is because this method find the *minimum* value:
*
* ary = [0, 100, 100, 100, 200]
* (0..4).bsearch {|i| p ary[i]; ary[i] >= 100 }
* # may output "100" more than once
Discussion:
You might think Array#bsearch is better. But Array#bsearch has some problems:
- Binary search is usable for not only an array but also a function.
(See the above example for Math.log)
Nevertheless, Array#bsearch can be used only for an array.
Range#bsearch covers both. You can use it for an array as follows:
ary.sort!
i = (0...ary.size).bsearch {|i| condition(ary[i]) }
p ary[i]
- matz hated Array#bsearch because its precondition (Array must be sorted)
seems too strong (to him). [ruby-dev:17125]
Range#bsearch has the same precondition in effect (the block must be
monotone), but there is a difference that this condition is for "code",
not "state". In fact, Array#sort has a similar condition.
I think there is demand for this feature because similar feature requests
are often proposed: [ruby-dev:17122] [ruby-core:30892] [ruby-dev:38545]
More importantly, this feature is often required in many programming
contests :-)
A patch is attached. Thank you for your consideration.
--
Yusuke Endoh <mame@tsg.ne.jp>
--
http://redmine.ruby-lang.org