[#393012] Basic Ruby performance — Dmitry Nikiforov <dniq@...>

Hello all!

43 messages 2012/02/02
[#393013] Re: Basic Ruby performance — Dmitry Nikiforov <dniq@...> 2012/02/02

Here's another example with significantly bigger performance difference:

[#393015] Re: Basic Ruby performance — Ryan Davis <ryand-ruby@...> 2012/02/02

[#393016] Re: Basic Ruby performance — Peter Vandenabeele <peter@...> 2012/02/02

On Fri, Feb 3, 2012 at 12:20 AM, Ryan Davis <ryand-ruby@zenspider.com>wrote:

[#393020] Re: Basic Ruby performance — Ryan Davis <ryand-ruby@...> 2012/02/03

[#393076] Problem migrating to Ruby 1.9.2 — Patrick Bayford <pbayford@...>

Some assistance please - I have a Ruby project, which I started in Ruby

10 messages 2012/02/03

[#393164] Using _ like in Scala? — Marc Heiler <shevegen@...>

fruits = %w( apple banana orange )

27 messages 2012/02/06
[#393201] Re: Using _ like in Scala? — Tony Arcieri <tony.arcieri@...> 2012/02/07

On Mon, Feb 6, 2012 at 10:54 AM, Marc Heiler <shevegen@linuxmail.org> wrote:

[#393204] Re: Using _ like in Scala? — Eric Christopherson <echristopherson@...> 2012/02/07

On Mon, Feb 6, 2012 at 7:21 PM, Tony Arcieri <tony.arcieri@gmail.com> wrote:

[#393206] Re: Using _ like in Scala? — Tony Arcieri <tony.arcieri@...> 2012/02/07

On Mon, Feb 6, 2012 at 5:56 PM, Eric Christopherson <

[#393208] Re: Using _ like in Scala? — Kevin <darkintent@...> 2012/02/07

On Mon, Feb 6, 2012 at 9:07 PM, Tony Arcieri <tony.arcieri@gmail.com> wrote:

[#393216] Re: Using _ like in Scala? — Robert Klemme <shortcutter@...> 2012/02/07

On Tue, Feb 7, 2012 at 6:56 AM, Kevin <darkintent@gmail.com> wrote:

[#393219] Re: Using _ like in Scala? — Josh Cheek <josh.cheek@...> 2012/02/07

On Tue, Feb 7, 2012 at 4:47 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

[#393220] Re: Using _ like in Scala? — Robert Klemme <shortcutter@...> 2012/02/07

On Tue, Feb 7, 2012 at 1:00 PM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#393240] Re: Using _ like in Scala? — Josh Cheek <josh.cheek@...> 2012/02/08

On Tue, Feb 7, 2012 at 9:15 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

[#393254] Re: Using _ like in Scala? — Robert Klemme <shortcutter@...> 2012/02/08

On Wed, Feb 8, 2012 at 3:43 AM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#393259] Re: Using _ like in Scala? — Josh Cheek <josh.cheek@...> 2012/02/08

On Wed, Feb 8, 2012 at 5:58 AM, Robert Klemme <shortcutter@googlemail.com>wrote:

[#393181] Tork 18.0.0 — "Suraj N. Kurapati" <sunaku@...>

Tork - Test with fork - https://github.com/sunaku/tork#readme

16 messages 2012/02/06
[#393183] Re: [ANN] Tork 18.0.0 — Bartosz Dziewoński <matma.rex@...> 2012/02/06

You have faster major version release cycle than Chrome...

[#393189] Re: [ANN] Tork 18.0.0 — Quintus <sutniuq@...> 2012/02/06

Am 06.02.2012 22:07, schrieb Bartosz Dziewoナгki:

[#393203] Re: Tork 18.0.0 — Suraj Kurapati <sunaku@...> 2012/02/07

Marvin Gテシlker wrote in post #1044440:

[#393347] Symbol garbage collection — Dido Sevilla <dido.sevilla@...>

I've always wondered why Ruby didn't do garbage collection of symbols,

13 messages 2012/02/10

[#393402] Who Administrates this list and how can the community help save this list from the noise. — andrew mcelroy <sophrinix@...>

It is very clear that this list has been under a incredibly heavy

21 messages 2012/02/11
[#393403] Re: Who Administrates this list and how can the community help save this list from the noise. — serialhex <serialhex@...> 2012/02/11

+1

[#393407] Re: Who Administrates this list and how can the community help save this list from the noise. — Cathy Alomari <cathy1428@...> 2012/02/11

Good luck, I doubt anyone is paying attention. I have seen numerous

[#393410] Re: Who Administrates this list and how can the community help save this list from the noise. — "Darryl L. Pierce" <mcpierce@...> 2012/02/11

On Sat, Feb 11, 2012 at 1:12 PM, Cathy Alomari <cathy1428@gmail.com> wrote:

[#393430] Re: Who Administrates this list and how can the community help save this list from the noise. — Cathy Alomari <cathy1428@...> 2012/02/13

On Sat, Feb 11, 2012 at 10:48 AM, Darryl L. Pierce <mcpierce@gmail.com>wrote:

[#393432] Re: Who Administrates this list and how can the community help save this list from the noise. — Bartosz Dziewoński <matma.rex@...> 2012/02/13

2012/2/13 Cathy Alomari <cathy1428@gmail.com>:

[#393434] Re: Who Administrates this list and how can the community help save this list from the noise. — Rimantas Liubertas <rimantas@...> 2012/02/13

> Have you tried mailing ruby-talk-ctl@ruby-lang.org (mailto:ruby-talk-ctl@ruby-lang.org) with "unsubscribe"

[#393412] the ruby syntax — maven apache <apachemaven0@...>

Hi:

19 messages 2012/02/12
[#393413] Re: the ruby syntax — Bartosz Dziewoński <matma.rex@...> 2012/02/12

When a hash is the last argument to a method, you can skip its open-

[#393416] Re: the ruby syntax — maven apache <apachemaven0@...> 2012/02/12

2012/2/12 Bartosz Dziewoナгki <matma.rex@gmail.com>

[#393435] Re: the ruby syntax — Saji Hameed <saji@...> 2012/02/13

On Sun, Feb 12, 2012 at 10:49 PM, maven apache <apachemaven0@gmail.com> wrote:

[#393546] Difference between 1.9.2 and 1.9.3 — James French <James.French@...>

module A <- line 1

12 messages 2012/02/20

[#393548] Accessing a local variable through a symbol — Ralph Shnelvar <ralphs@...32.com>

Let's say I have

11 messages 2012/02/20

[#393671] Rubymoticons — Dave Aronson <rubytalk2dave@...>

I was demonstrating injection of a symbol, and noticed a familiar

12 messages 2012/02/28

Re: Difference between 1.9.2 and 1.9.3

From: James French <James.French@...>
Date: 2012-02-21 15:17:14 UTC
List: ruby-talk #393580

-----Original Message-----
From: Robert Klemme [mailto:shortcutter@googlemail.com] 
Sent: 21 February 2012 14:48
To: ruby-talk ML
Subject: Re: Difference between 1.9.2 and 1.9.3

On Tue, Feb 21, 2012 at 11:44 AM, James French
<James.French@naturalmotion.com> wrote:
>
> From: peter.vandenabeele.be@gmail.com
> [mailto:peter.vandenabeele.be@gmail.com] On Behalf Of Peter Vandenabeele
> Sent: 21 February 2012 10:01
> To: ruby-talk ML
> Subject: Re: Difference between 1.9.2 and 1.9.3
>
>
>
> On Tue, Feb 21, 2012 at 9:40 AM, Bartosz Dziewoński <matma.rex@gmail.com>
> wrote:


> Just write `super()` when calling the higher up initializer.

But do it in the child class not in the module!

> Calling super() does fix this trivial example but I also happen to include
> the module from a class that inherits from another class before Object, so
> it breaks that. What we need to figure out is how does one write
> initialize() in a module such that it seamlessly integrates into any
> inheritance chain in 1.9.3. It doesn’t seem possible (at least without some
> hacking) in 1.9.3. Maybe it is actually a bug somewhere.
>
>
>
> I will probably hack round it with
>
>   def initialize(*args, &block)
>     if self.class.superclass === Object
>       super()
>     else
>       super
>     end
>   end
>
> Is there a better way?

IMHO the quoted 1.9.2 version is the buggy one because it should have
raised an error in the first place.  The most portable way to write a
module #initialize method is to do

def initialize(*a, &b)
  super
  # module init
end

or, if you like to be explicit

def initialize(*a, &b)
  super(*a, &b)
  # module init
end

Because then you can insert it into *any* inheritance hierarchy.  And
your "hacking around" is not necessary.  In cases where the superclass
is Object the real culprit is the child class: that should use
"super()" and not "super" because it knows its super class and knows
the argument list.

I think it is a bad advice to do

def initialize(*a, &b)
  super() # always no args!
  # module init
end

This will _only_ work in cases where the super class or the module
next in inheritance hierarchy does not accept arguments.



Thanks for the help and input (as always Robert!), but I've got the feeling you've just restated my initial problem.

Here is some more code. If you could tell me precisely what to change to make it work without hacking around (which is what I want!) then I'd be very grateful :) Notice that module A is included both by a class that doesn't inherit and by one that does.

module A
  def initialize(*args, &block)
    super
  end
end

class C
  def initialize(name)
  end
end

class B < C
  include A
  def initialize(name)
    super
  end
end

class D
  include A
  def initialize(name)
    super
  end
end

B.new('foo')
D.new('bar')

-> Ruby errors

In This Thread