# Dove posizionare i file .rb?

**URL:** <https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234>\
**Category:** IT\
**Created:** [June 19, 2007, 1:56pm UTC](https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234 "2007-06-19T13:56:05Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![laj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/b487fb/32.png) [@laj](https://www.ruby-forum.com/u/laj)\
**Post date:** [June 19, 2007, 1:56pm UTC](https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234/1 "2007-06-19T13:56:05Z")

</div>

Ciao a tutti, primo post prima richiesta 🙂  
Come devo fare per disporre di una classe che ho definito in un file .rb  
?  
In particolare al mio primo approccio con Ruby  
vorrei riuscire ad utilizzare questo codice:  
[http://snippets.dzone.com/posts/show/3906](http://snippets.dzone.com/posts/show/3906)

Allora, con SciTE ho creato il file SqlServer.rb  
e l’ho salvato in una directory di progetto.  
Ovviamente mi sono studiato il problema “classpath”  
ed ho scoperto che in ruby vi Ã¨ un array e si chiama $LOAD\_PATH o $:  
e si manipola anche con l’opzione -I di irb e ruby  
Il problema Ã¨ che anche avendo aggiunto la directory dove sono i miei  
file a questo Path, ottengo errore da fxri quando scrivo:

db = SqlServer.new(‘10.0.0.33:1033’, ‘sa’, ‘\*\*\*\*\*\*\*’)

Ma non doveva essere semplice Ruby :-p  
Scusate, spero di trovare aiuto per poter confidare in questa  
tecnologia.

Grazie.

---

<div class="post-metadata">

**Author:** ![laj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/b487fb/32.png) [@laj](https://www.ruby-forum.com/u/laj)\
**Post date:** [June 19, 2007, 2:09pm UTC](https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234/2 "2007-06-19T14:09:34Z")

</div>

Puoi provare con un:  
require ‘/path/completo/SqlServer.rb’

Se così va provi con il path relativo allo script che ne ha bisogno. Puoi  
anche omettere l’estensione .rb

Un buon trucco per provare la tua classe in isolamento può essere mettere  
in fondo un:

if **FILE** == $0  
obj = MioClasse.new  
obj.do\_stuf  
result = obj.do\_really\_fun\_stuff  
puts “Funky! Look at this: #{result}”  
end

Così, se esegui il file con la tua classe verrà eseguito il codice sopra. Se  
invece usi la classe da un altro script, tramite ‘require’, non  
verrà eseguito!

---

<div class="post-metadata">

**Author:** ![laj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/b487fb/32.png) [@laj](https://www.ruby-forum.com/u/laj)\
**Post date:** [June 19, 2007, 6:51pm UTC](https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234/3 "2007-06-19T18:51:32Z")

</div>

Grazie  
ho capito come eseguire i file .rb  
anche se nacora non riesco a fare,  
da fxri una cosa tipo:  
db = SqlServer.new(‘10.0.0.33:1033’, ‘sa’, ‘\*\*\*\*\*\*\*’)

Ã¨ forse comunque necessario un require “quel file”?  
a cosa serve LOAD\_PATH allora?  
come faccio a far comparire sempre quel percorso in LOAD\_PATH all’avvio  
del sistema?

P.S.: Lo snippet che ho trovato a quel sito non funziona con Sql Server  
2000.  
Ma poco male: ho appreso di DBI, sembra buono, no?

---

<div class="post-metadata">

**Author:** ![laj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/b487fb/32.png) [@laj](https://www.ruby-forum.com/u/laj)\
**Post date:** [June 19, 2007, 7:04pm UTC](https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234/4 "2007-06-19T19:04:19Z")

</div>

On Tue, 19 Jun 2007 18:51:32 +0200, Cosimo G. wrote:

> Grazie  
> ho capito come eseguire i file .rb

Cioè? Dici il trucco con “ **FILE** == $0”?  
🙂

> anche se nacora non riesco a fare,  
> da fxri una cosa tipo:

Sarò stupido io, ma cos’è “fxri”? È “ri” con gli effetti speciali?

> db = SqlServer.new(‘10.0.0.33:1033’, ‘sa’, ‘\*\*\*\*\*\*\*’)
> 
> è forse comunque necessario un require “quel file”?

Oh sì! Se vuoi usare una classe definita in ‘sqlserver.rb’ devi fare un  
‘require’ di quel file.

> a cosa serve LOAD\_PATH allora?

È per non dover stare a indicare tutto il path per il file che vuoi  
requisire. Punta a ‘site-ruby’ credo, perché le gemme usano una roba  
diversa (ma simile). Ma non prendermi in parola, perché non uso mai  
LOAD\_PATH.

Di sicuro _non_ è un path che indica un insieme di file che vengono  
caricati sempre e comunque.

> come faccio a far comparire sempre quel percorso in LOAD\_PATH all’avvio  
> del sistema?

Forse lo setti tra gli variabili d’ambiente. In linea di massima direi  
però che non dovresti: meglio lasciare a Ruby e a rubygems il compito di  
gestire i percorsi per le librerie e poi fare dei require con un path  
relativo per le robe che crei tu. Rails include anche la cartella “lib”  
dell’applicazione nei percorsi che cerca (occhio che devi riavviare  
l’app perché le modifiche si vedano!).

> P.S.: Lo snippet che ho trovato a quel sito non funziona con Sql Server  
> 2000.  
> Ma poco male: ho appreso di DBI, sembra buono, no?

Ah, non era DBI quello? Non c’ho guardato, se devo essere sincero. E  
usare ActiveRecord direttamente?

🙂

---

<div class="post-metadata">

**Author:** ![laj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/b487fb/32.png) [@laj](https://www.ruby-forum.com/u/laj)\
**Post date:** [June 21, 2007, 6:34pm UTC](https://www.ruby-forum.com/t/dove-posizionare-i-file-rb/107234/5 "2007-06-21T18:34:52Z")

</div>

David wrote:

> On Tue, 19 Jun 2007 18:51:32 +0200, Cosimo G. wrote:
> 
> > Grazie  
> > ho capito come eseguire i file .rb
> 
> Cioï¿½? Dici il trucco con “ **FILE** == $0”?  
> 🙂

ok questo, ma io ero ancora alla linea di comando 😃

> > anche se nacora non riesco a fare,  
> > da fxri una cosa tipo:
> 
> Sarï¿½ stupido io, ma cos’ï¿½ “fxri”? ï¿½ “ri” con gli effetti speciali?

Ma non lo so…  
un coso( una console ) che Ã¨ uscito con l’installazione su windows

> > a cosa serve LOAD\_PATH allora?
> 
> ï¿½ per non dover stare a indicare tutto il path per il file che vuoi  
> requisire. Punta a ‘site-ruby’ credo, perchï¿½ le gemme usano una roba  
> diversa (ma simile). Ma non prendermi in parola, perchï¿½ non uso mai  
> LOAD\_PATH.
> 
> Di sicuro _non_ ï¿½ un path che indica un insieme di file che vengono  
> caricati sempre e comunque.

grazie, chiaro!

> > P.S.: Lo snippet che ho trovato a quel sito non funziona con Sql Server  
> > 2000.  
> > Ma poco male: ho appreso di DBI, sembra buono, no?
> 
> Ah, non era DBI quello? Non c’ho guardato, se devo essere sincero. E  
> usare ActiveRecord direttamente?
> 
> 🙂  
> Ma io non il framework rails, funziona lo stesso?

Gia che mi trovo, posso usare anche ActiveMail?
