[#8976] Insecure warnings on sticky-bit directories — "Laurent Sansonetti" <laurent.sansonetti@...>
Hi,
[#8978] Inheritance and Autorunner: Default_test causes a problem — <noreply@...>
Bugs item #5990, was opened at 2006-10-02 10:05
Hi,
[#8997] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Mathieu Bouchard <matju@...>
On Tue, 3 Oct 2006, matz wrote:
Hi,
On Wed, 4 Oct 2006, Yukihiro Matsumoto wrote:
Hi,
Hi --
Yukihiro Matsumoto wrote:
Hi,
Hi --
Hi,
Hi --
Hi,
Hi --
On Oct 9, 2006, at 10:19 AM, dblack@wobblini.net wrote:
On 2006.10.10 00:31, James Edward Gray II wrote:
On Oct 9, 2006, at 11:50 AM, Eero Saynatkari wrote:
Hi --
dblack@wobblini.net wrote:
Thomas Enebo wrote:
Hi --
Hi --
Hi,
Hi --
Hi,
On 10/10/06, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
Hi,
On Oct 10, 2006, at 8:43 AM, Yukihiro Matsumoto wrote:
From: <dblack@wobblini.net>
Hi --
> to_a was too general. All enumerable objects (and even
Brown, Warren wrote:
> -----Original Message-----
[#8999] making FileUtils.rm_rf robust: is anyone interested? — Jim Meyering <list+ruby@...>
Hello,
Hi,
"Nobuyoshi Nakada" <nobu@ruby-lang.org> wrote:
[#9014] C#'s ?? Operator — "Nikolai Weibull" <now@...>
Hi!
[#9021] argument passing bug — Mathieu Bouchard <matju@...>
[#9024] — Shashank Date <sdate@...>
Hi All,
[#9077] how to create a NODE_ARGSPUSH? — Ryan Davis <ryand-ruby@...>
Is it possible for plain ruby code to create a NODE_ARGSPUSH? It
[#9104] Loop over array.delete breaks at first hit — <noreply@...>
Bugs item #6090, was opened at 2006-10-10 22:33
Hi,
[#9119] What about 'splay'? — dblack@...
Hi --
On 2006.10.12 02:32, dblack@wobblini.net wrote:
On Wednesday 11 October 2006 13:55, Eero Saynatkari wrote:
Hi --
dblack@wobblini.net wrote:
Hi --
On 2006.10.12 03:36, Sean Russell wrote:
On 10/11/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
[#9152] regular expressions tainting? — hadmut@... (Hadmut Danisch)
Hi,
Hi,
On Thu, Oct 12, 2006 at 01:01:36PM +0900, Nobuyoshi Nakada wrote:
It's worse:
Hi,
On Oct 15, 2006, at 1:20 AM, Hadmut Danisch wrote:
On Sun, Oct 15, 2006 at 05:33:16PM +0900, Eric Hodel wrote:
[#9158] Module#class_variable_defined? — Mauricio Fernandez <mfp@...>
[#9188] Symbol < String in Ruby > 1.8 — dblack@...
Hi --
Hi
Yukihiro Matsumoto wrote:
Charles Oliver Nutter wrote:
Charles Oliver Nutter wrote:
Jim Weirich wrote:
On Thu, Oct 19, 2006 at 05:06:02AM +0900, Charles Oliver Nutter wrote:
Hi,
Quoting matz@ruby-lang.org, on Thu, Oct 19, 2006 at 01:40:42PM +0900:
Hi,
Quoting matz@ruby-lang.org, on Thu, Oct 19, 2006 at 02:49:30PM +0900:
Hi,
Quoting matz@ruby-lang.org, on Thu, Oct 19, 2006 at 11:22:18PM +0900:
On 10/15/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
Hi --
On 10/15/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
Hi,
On 10/16/06, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
On Oct 16, 2006, at 3:06 PM, Rick DeNatale wrote:
On Tue, Oct 17, 2006 at 05:14:09AM +0900, James Edward Gray II wrote:
On 10/16/06, Sam Roberts <sroberts@uniserve.com> wrote:
Hi,
Hi --
On Oct 17, 2006, at 7:29 PM, dblack@wobblini.net wrote:
Hi --
On Oct 18, 2006, at 4:18 AM, dblack@wobblini.net wrote:
On 10/18/06, Eric Hodel <drbrain@segment7.net> wrote:
On 10/18/06, Nikolai Weibull <now@bitwi.se> wrote:
On 10/18/06, mathew <meta@pobox.com> wrote:
On Thu, Oct 19, 2006 at 04:24:24AM +0900, Nikolai Weibull wrote:
On 10/18/06, Mauricio Fernandez <mfp@acm.org> wrote:
Hi --
On 10/18/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
Hi -
Hi,
Hi --
Rick DeNatale wrote:
Hi --
Hi,
Hi --
On 10/19/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
Hi --
On 10/19/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
Hi --
dblack@wobblini.net wrote:
Hi --
Hi,
Hi --
Hi,
Hi --
On 10/20/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
Hi --
Hi,
On Sat, Oct 21, 2006 at 01:11:36AM +0900, dblack@wobblini.net wrote:
Hi,
On Oct 18, 2006, at 11:37 AM, Nikolai Weibull wrote:
[#9197] Ruby Threads — "Abhisek Datta" <abhisek@...>
Hello,
[#9282] Re: String not enumerable, what about IO? — "Michael Selig" <michael.selig@...>
I am fairly new to ruby, and I have just started listening to this mailing
[#9341] array.c - defining aliases as aliases — "Daniel Berger" <djberg96@...>
Hi all,
On Oct 27, 2006, at 11:12 AM, Daniel Berger wrote:
[#9351] Module#method_aliased and Module#singleton_method_aliased — "Daniel Berger" <djberg96@...>
Hi all,
Re: What about 'splay'?
On 10/12/06, dblack@wobblini.net <dblack@wobblini.net> wrote:
> Hi --
>
> On Thu, 12 Oct 2006, Dave Burt wrote:
>
> > dblack@wobblini.net wrote:
> >> ... The
> >> whole problem, though, is that this method's purpose is to represent
> >> the object as an array, but we can't use to_a or to_ary. It's hard to
> >> come up with a fully good alternative.
> >
> > Please allow me to disagree. We can and currently do use to_a, and I do
> > not see the benefit of this new method.
> > I think that means you're agreeing :-)
And as you know, I'm in the same camp.
It looks like in the past, to_ary was used. At least that's what the
Pickaxe implies:
P. 340 Parallel Assignment:
"1. If the last rvalue is prefixed with an asterisk and implements
to_ary, the rvalue is replaced with the elements of the array, with
each element forming its own rvalue."
P 373 - in the Duck Typing chapter
"A small number of strict conversion functions are built into the
standard library.
to_ary -> Array
Used when the interpreter needs to convert a object into an array for
parameter passing or multiple assignment.
class OneTwo
def to_ary
[1, 2]
end
end
ot = OneTwo.new
a, b = ot
puts "a= #{a}, b = #{b}"
printf("%d -- %d\n", *ot)
produces:
a = 1, b = 2
1 -- 2
Now it seems that somewhere along the way, the EXPLICIT use * prefix
got changed to use to_a instead of to_ary. Extending the example above
a, b = *ot
has the same result as
a, b = ot
Now if we define the class TwoThree
class TwoThree
def to_a
[2, 3]
end
end
and now:
tt = TwoThree.new
c, d = tt
c => #<TwoThree:0xb7d6c1d4>
d => nil
but
tt = *tt
c => 2
d => 3
This is all under 1.8. Under the current 1.9:
a, b = ot
a =>#<TwoThree:0xb7d6c1d4>
b => nil
a, b = *ot
a =>#<TwoThree:0xb7d6c1d4>
b => nil
c, d = tt
c => #<TwoThree:0xb7dc9454>
d = nil
c, d = *tt
c => #<TwoThree:0xb7dc9454>
d = nil
So, FWIW, the current 1.9 breaks the P 373 example in the Pickaxe.
Now recently, I was going to suggest that instead of to_values,
to_rvalues might be a better name of to_splat if we NEED to have it,
this is because for parallel assignment, or parameter assignment, *
can only really send a message to an rvalue, since on the left hand
side (or in the formal parameter) it really modifies the
interpretation of a variable not an object.
However this morning someone posted _why's trick of using * for a case
branch e.g.
Executives = #w[Fred, Jo, Sally]
case employee
when *Executives
# employee is an executive
end
Here, I'm not sure how to classify Executives as either an rvalue or
an lvalue, it's really the receiver of :=== here.
Now that led to another test of 1.8 vs. 1.9
Under 1.8
case 1
when ot
puts "got it"
end
=> nil
case 1
when *ot
puts "got it"
end
got it
=> nil
So under 1.8 case doesn't implicitly splat case branch values, but it
will use to_ary on an explicit splat.
case 3
when tt
puts "got it"
end
=> nil
case 3
when *tt
puts "got it"
end
Now under the current 1.9 none of these examples work, even _why's case trick.
And that seems to be a shame!
--
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/