warning: method redefined

Discussion in 'Ruby' started by Iain Barnett, Aug 24, 2010.

  1. Iain Barnett

    Iain Barnett Guest

    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=
     
    Iain Barnett, Aug 24, 2010
    #1
    1. Advertising

  2. Iain Barnett

    Iain Barnett Guest

    On 24 Aug 2010, at 19:49, Iain Barnett wrote:

    > Hi,
    >=20
    > 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?
    >=20


    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 Barnett, Aug 24, 2010
    #2
    1. Advertising

  3. 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/.
     
    Brian Candler, Aug 26, 2010
    #3
  4. Iain Barnett

    Iain Barnett Guest

    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=20=


    >> 'file/fo'o etc, so some files were required twice. What I don't=20
    >> understand is why this would generate warnings, as my understanding =

    is=20
    >> that require can be called as multiple times but will only load the=20=


    >> files once. Is this incorrect?

    >=20
    > It can happen if you require them in different ways, e.g.
    >=20
    > require 'file/fo'
    > require './file/fo'
    > require '../lib/file/fo'
    > require File.join(File.dirname(__FILE__), 'fo')
    >=20
    > If that's what's happening, the solution is to be consistent with your=20=


    > require statements, and if necessary set up $: (aka $LOAD_PATH) =

    suitably=20
    > at the start of your program.
    > --=20
    > 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=
     
    Iain Barnett, Aug 26, 2010
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Simon Strandgaard
    Replies:
    0
    Views:
    112
    Simon Strandgaard
    Feb 23, 2004
  2. Brian Takita

    Removing "warning: method redefined"

    Brian Takita, Jul 8, 2005, in forum: Ruby
    Replies:
    4
    Views:
    113
    Brian Takita
    Jul 8, 2005
  3. MiG
    Replies:
    8
    Views:
    162
    Ryan Leavengood
    Oct 19, 2005
  4. Oliver
    Replies:
    0
    Views:
    132
    Oliver
    Jul 19, 2007
  5. Ralph Shnelvar
    Replies:
    1
    Views:
    99
    Brian Candler
    Aug 5, 2010
Loading...

Share This Page