Ruby è un linguaggio molto particolare. Uno degli errori più ricorrenti (e se così vogliamo definirlo tra i più "gravi"), è quello di scrivere in Ruby pensando in altri linguaggi.
Per scrivere in Ruby devi pensare in Ruby, così come è poco efficace scrivere in inglese pensando prima in Italiano.
Ci sono costrutti Italiani che in Inglese non hanno senso, spesso una traduzione letterale si nota.
Allo stesso modo è Ruby. E' facile cadere in questo errore, ricordo che quando approciai Ruby da Java ho tentato più volte di ricondurre in Ruby abitudini di Java... ma se voglio usare abitudini di Java tanto vale scrivere in Java!
Ho voluto fare questa premessa perché la ritengo importante, io stesso ci sono in qualche modo cascato più volte agli inizi.
In Ruby l'include path è sempre definito e si chiama $LOAD_PATH spesso abbreviato come $: .
Quando lanci un programma la cartella corrente è già presente nel $LOAD_PATH quindi non si serve includerla.
Quello che hai scritto sarebbe equivalente ad una cosa tipo
codice:$:.shift(File.dirname(__FILE__))



Rispondi quotando