From: Iain Barnett Date: 2010-08-26T23:39:05+09:00 Subject: Re: warning: method redefined On 26 Aug 2010, at 14:57, Brian Candler wrote: > Iain Barnett 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. > -- > 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