[#39260] RubySpec vs CRuby's test/... — Marc-Andre Lafortune <ruby-core-mailing-list@...>

Before the release of Ruby 1.9.2 it was decided that Ruby releases

59 messages 2011/09/04
[#39276] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/05

2011/9/5 Marc-Andre Lafortune <[email protected]>:

[#39325] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/07

I'll jump in with some context from the JRuby perspective.

[#39335] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/07

2011/9/7 Charles Oliver Nutter <[email protected]>:

[#39365] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/08

On Wed, Sep 7, 2011 at 4:17 AM, NARUSE, Yui <[email protected]> wrote:

[#39366] Re: RubySpec vs CRuby's test/... — Yukihiro Matsumoto <matz@...> 2011/09/08

Hi,

[#39370] Re: RubySpec vs CRuby's test/... — Michael Klishin <michael.s.klishin@...> 2011/09/08

Yukihiro Matsumoto:

[#39374] Re: RubySpec vs CRuby's test/... — "NARUSE, Yui" <naruse@...> 2011/09/08

(2011/09/09 1:29), Michael Klishin wrote:

[#39376] Re: RubySpec vs CRuby's test/... — Luis Lavena <luislavena@...> 2011/09/08

On Thu, Sep 8, 2011 at 4:19 PM, NARUSE, Yui <[email protected]> wrote:

[#39379] Re: RubySpec vs CRuby's test/... — Masaya TARUI <tarui@...> 2011/09/08

Hello Luis,

[#39382] Re: RubySpec vs CRuby's test/... — Luis Lavena <luislavena@...> 2011/09/08

On Thu, Sep 8, 2011 at 5:34 PM, Masaya TARUI <[email protected]> wrote:

[#39386] Re: RubySpec vs CRuby's test/... — Charles Oliver Nutter <headius@...> 2011/09/08

On Thu, Sep 8, 2011 at 3:57 PM, Luis Lavena <[email protected]> wrote:

[#39267] [Ruby 1.9 - Bug #5273][Open] Float#round returns the wrong floats for higher precision — Marc-Andre Lafortune <ruby-core@...>

14 messages 2011/09/04

[#39435] [Ruby 1.9 - Bug #5306][Open] Application Hangs Due to Recent rb_thread_select Changes — Charlie Savage <cfis@...>

27 messages 2011/09/09

[#39498] [Ruby 1.9 - Feature #5310][Open] Integral objects — Kenta Murata <muraken@...>

13 messages 2011/09/13

[#39539] [Ruby 1.9 - Feature #5321][Open] Introducing Numeric#exact? and Numeric#inexact? — Kenta Murata <muraken@...>

26 messages 2011/09/14

[#39629] [Ruby 1.9 - Feature #5341][Open] Add SSL session reuse to Net::HTTP — Eric Hodel <[email protected]>

18 messages 2011/09/19

[#39634] [Ruby 1.9 - Bug #5343][Open] Unexpected blocking behavior when interrupt Socket#accept — Tomoyuki Chikanaga <nagachika00@...>

10 messages 2011/09/20

[#39673] [Ruby 1.9 - Bug #5353][Open] TLS v1.0 and less - Attack on CBC mode — Martin Bosslet <Martin.Bosslet@...>

13 messages 2011/09/22

[#39700] [Ruby 1.9 - Feature #5364][Open] How about new syntax: "object.\method" returns a Method instance? — Joey Zhou <yimutang@...>

20 messages 2011/09/25

[#39740] [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...>

18 messages 2011/09/27
[#39743] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Aaron Patterson <aaron@...> 2011/09/27

On Tue, Sep 27, 2011 at 06:18:19PM +0900, Alex Young wrote:

[#39754] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...> 2011/09/27

On 27/09/2011 19:46, Aaron Patterson wrote:

[#39807] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Eric Hodel <[email protected]> 2011/10/01

On Sep 27, 2011, at 6:52 PM, Alex Young wrote:

[#39751] [Ruby 1.9 - Bug #5375][Open] [mingw32] segfault on WinXP SP3 with 1.9.3dev@33347 — Jon Forums <redmine@...>

26 messages 2011/09/27

[#39772] ObjectSpace.reference_form(obj) #=> references_array — SASADA Koichi <ko1@...>

Hi,

13 messages 2011/09/29
[#39774] Re: ObjectSpace.reference_form(obj) #=> references_array — Nobuyoshi Nakada <nobu@...> 2011/09/29

Hi,

[#39796] [Ruby 1.9 - Bug #5384][Open] Ruby 1.9.3-RC1 Fails to Compile on Solaris — Cyrus Lopez <cyrus@...>

11 messages 2011/09/30

[ruby-core:39743] Re: [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol

From: Aaron Patterson <aaron@...>
Date: 2011-09-27 18:46:51 UTC
List: ruby-core #39743
On Tue, Sep 27, 2011 at 06:18:19PM +0900, Alex Young wrote:
>=20
> Issue #5372 has been reported by Alex Young.
>=20
> ----------------------------------------
> Feature #5372: Promote blank? to a core protocol
> http://redmine.ruby-lang.org/issues/5372
>=20
> Author: Alex Young
> Status: Open
> Priority: Normal
> Assignee:=20
> Category: core
> Target version: 1.9.4
>=20
>=20
> I don't think there's been a project I've used that hasn't made use of th=
is pattern:
>=20
>   if thing.nil? || thing.empty?
>=20
> somewhere in its source.  This is necessary because it is idiomatic to re=
turn nil where other languages might return a null object, and there is no =
universal test for nullity which a user-implemented class can provide witho=
ut issues.
>=20
> Facets (and ActiveSupport) define a #blank? protocol which allows for the=
 above to be replaced with:
>=20
>   if thing.blank?
>=20
> Being able to type this on a first iteration saves forgetting one of the =
cases and having to come back to fix a bug later.  For projects where I can=
not directly use Facets or ActiveSupport, I always find that I rewrite a ve=
rsion for myself.  It would be very convenient not to have to do this every=
 time, and this is clearly a common case, so I propose that #blank? be impl=
emented on the following classes:
>=20
>   Object: to return false
>   String: aliased to #empty?
>   NilClass: to return true
>   TrueClass: to return false
>   FalseClass: to return true
>   Array: aliased to #empty?
>   Hash: aliased to #empty?
>   Fiber: to return !alive?
>   Numeric: aliased to #zero?
>   IO: aliased to #closed?
>   MatchData: to return #to_s.blank?
>   Process::Status: aliased to #exited?
>   Range: to return self.include?(self.begin)
>   Struct: subclass instances to return values.blank?
>   Thread: to return !alive?
>   ThreadGroup: to return list.blank?
>=20
> Some of these uses aren't described by the word "blank?" very well (and A=
ctiveSupport's String#blank? is somewhat different), so as a sub-feature I'=
d like to suggest "null?" as an alternative method name.
>=20
> Apologies if this has been proposed and rejected before, but a quick sear=
ch of redmine didn't show anything relevant.

"empty?" implies that you're performing the operation on a set.  Why
would you treat these other objects as sets?  It doesn't make sense to
me.

Not to mention defining the method on every possible object seems bad.
What if my function shouldn't be dealing with Thread objects?  I'd rather
a NoMethodError be raised.

--=20
Aaron Patterson
http://tenderlovemaking.com/

In This Thread