Mehrfachladen von Source-Files verhindern/analysieren?

08/04/2009 - 19:17 von Michael Schuerig | Report spam
In einigen Tests habe ich Ärger damit, dass offensichtlich Source-Files
trotz require mehrfach geladen werden. Das ist mit Ruby 1.8.7, was,
wenn ich mich nicht irre, verschiedene relative Pfade zu derselben
Datei nicht als gleich erkennt.

Das führt zu Fehlermeldungen, wie dieser hier

./test/../lib/branch_db.rb:5: warning: already initialized constant
VERSION

In einer Klasse sammele ich in einem inherited-Hook die Unterklassen,
was ebenfalls nicht funktioniert.

Nun fehlt mir leider eine gute Idee, wie ich die Ursache finden und
beheben kann.

Michael

Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/
 

Lesen sie die antworten

#1 Robert Klemme
08/04/2009 - 20:31 | Warnen spam
On 08.04.2009 19:17, Michael Schuerig wrote:
In einigen Tests habe ich Ärger damit, dass offensichtlich Source-Files
trotz require mehrfach geladen werden. Das ist mit Ruby 1.8.7, was,
wenn ich mich nicht irre, verschiedene relative Pfade zu derselben
Datei nicht als gleich erkennt.

Das führt zu Fehlermeldungen, wie dieser hier

./test/../lib/branch_db.rb:5: warning: already initialized constant
VERSION



Dann gib doch am Anfang der Datei einfach mal den Aufrufstack aus:

puts caller(0)

In einer Klasse sammele ich in einem inherited-Hook die Unterklassen,
was ebenfalls nicht funktioniert.



Woran merkst Du das? Pack doch mal ein "puts irgendwas" in deinen
inherited-Hook. (Übrigens, wenn man das rekursiv möchte, muss man
besondere Maßnahmen treffen. Ansonsten erfàhrt man nur etwas von
direkten Unterklassen.)

Nun fehlt mir leider eine gute Idee, wie ich die Ursache finden und
beheben kann.



Debugging mit Ausgabe auf die Konsole ist nicht das Schlechteste.

Ciao

robert

Ähnliche fragen