Warning: method redefined

Hi,

Any idea how to track down warning: method redefined errors? Is there
a way to force errors to appear with irb when I load individual files?

AFAICS I’ve not redefined anything. It’s all my own, very small library.
This all started when I installed 1.9.2, which I’m beginning to regret
for the amount of consternation it’s causing me.

Regards,
Iain

On 24 Aug 2010, at 19:49, Iain B. wrote:

Hi,

Any idea how to track down warning: method redefined errors? Is there a way to force errors to appear with irb when I load individual files?

It turns out one of the other files in the library also had require
'file/fo’o etc, so some files were required twice. What I don’t
understand is why this would generate warnings, as my understanding is
that require can be called as multiple times but will only load the
files once. Is this incorrect?

Regards,
Iain

Iain B. wrote:

It turns out one of the other files in the library also had require
'file/fo’o etc, so some files were required twice. What I don’t
understand is why this would generate warnings, as my understanding is
that require can be called as multiple times but will only load the
files once. Is this incorrect?

It can happen if you require them in different ways, e.g.

require ‘file/fo’
require ‘./file/fo’
require ‘…/lib/file/fo’
require File.join(File.dirname(FILE), ‘fo’)

If that’s what’s happening, the solution is to be consistent with your
require statements, and if necessary set up $: (aka $LOAD_PATH) suitably
at the start of your program.

On 26 Aug 2010, at 14:57, Brian C. wrote:

require ‘./file/fo’
require ‘…/lib/file/fo’
require File.join(File.dirname(FILE), ‘fo’)

If that’s what’s happening, the solution is to be consistent with your
require statements, and if necessary set up $: (aka $LOAD_PATH) suitably
at the start of your program.

Posted via http://www.ruby-forum.com/.

Ah, I see. Yes, a part of the code was dynamically calling require, and
the offending statements were static.

One more gotcha in the bag! Thanks. Nice thing about all the “gotchas”
I’ve found in Ruby so far is that they may be frustrating at the time,
but they don’t kill the fun of the language.

Regards,
Iain