No, __FILE__ è una costante speciale che restituisce il percorso assoluto al file corrente, in questo caso a.rb. A partire dal valore ne estrai il percorso e lo sommi a quello per raggiungere b.
No, __FILE__ è una costante speciale che restituisce il percorso assoluto al file corrente, in questo caso a.rb. A partire dal valore ne estrai il percorso e lo sommi a quello per raggiungere b.
Scusate se mi inserisco nella conversazione,ma è una cosache mi interessa molto.Sto traducendo un programma da PHP a ruby e ci sono un'infinità di classi base e derivate.Sto usando il REQUIRE per includere le classi base quando ce n'è bisogno,però poi a traduzione finita,il REQUIRE dove vuole che vadano messe le classi da richiamare?
Se includi classi dalla standard library è sufficiente fare riferimento al percorso del $LOAD_PATH.
Esmpio
Se includi tue classi allora dipende da come organizzi la struttura dei file.codice:require 'uri/http' require 'time' require 'net/http'
Si,sono dei miei file,stanno tutti nella stessa cartella,il require cerca prima nella stessa cartella del file che che lo usa?
Il require cerca in tutte le directory incluse nel $LOAD_PATH, inclusa la directory corrente ma non rispetto al file che lo usa bensì rispetto al percorso dal quale chiami il file.
Esempio.
A meno che /var non sia nel $LOAD_PATH.codice:/var/foo/first.rb /var/foo/last.rb # first.rb require 'last' cd /var/foo ruby first.rb # success cd /var ruby foo/first.rb # LoadError