2010-11-21 19 views
0

Ich habe ein Ruby-Programm, das unter Linux läuft. Ich probiere es gerade auf Windows 7 aus, und es sollte in Ordnung sein, da es nur zwei Bibliotheken verwendet, die ohne Probleme installiert wurden.Warum findet Ruby alle meine Klassen außer einer namens Config?

Der Fehler, den ich bekomme, hängt mit meinem eigenen Code zusammen. Ich habe eine Datei namens config.rb, die eine Klasse mit dem Namen Config hat. Es hat einige Werte, die Sie ändern können. Klingt ziemlich harmlos.

Allerdings kann ich require diese Klasse nicht. Ruby Gems benutzerdefinierte erfordern (ich verwende überhaupt keine Edelsteine) findet meine Datei nicht. Was geht hier vor sich?

<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- config (LoadError) 
    from <internal:lib/rubygems/custom_require>:29:in `require' 
    from apitester.rb:9:in `<main>' 

Zeile 9 von apitester.rb ich habe:

require 'config' 

und config.rb ist, dass einfache Klasse, im selben Ordner.

Antwort

1

Versuchen Sie es mit der folgenden in Ruby 1.8:

require File.join(File.dirname(__FILE__), 'config') 

oder wenn Sie in Ruby verwenden 1.9:

require_relative 'config' 
+0

diese Art von Arbeiten, großartig zu wissen, dass Ruby eine variabled namens Config macht so Sie können eine Klasse Config nicht mit einer Menge Klassenvariablen benennen. wirklich lahm. – asdas

+0

Warum brauche ich 2 verschiedene Anforderungen basierend auf 2 Ruby-Versionen? das bläst wirklich – asdas

+0

Sie brauchen nicht, 1.9 bietet nur seine eigene Funktion für ein gemeinsames Idiom ... – hurikhan77

Verwandte Themen