RDoc e Ri
RDoc è uno strumento che produce documentazione estraendola dai file sorgente. Produce sia documentazione html leggibile da qualsiasi browser sia documentazione formattata per l'utility ri. Per ora è tutto ma torneremo sull'argomento in un prossimo capitolo.
eRuby
eRuby (embedded Ruby) è uno strumento che permette di inserire codice ruby all'interno di altri file, ad esempio nei file HTML creando di fatto delle pagine dinamiche. Ci sono due implementazioni di eRuby: erb ed eruby. Diamo uno sguardo ad erb che viene distribuito con Ruby. In pratica erb analizza il file che gli viene passato come argomento alla ricerca di particolari delimitatori. In particolare quando incontra qualcosa del genere
<% istruzioni ruby %>
esegue il codice presente tra <% e %>; quando incontra
<%= espressione %>
valuta l'espressione e ne restituisce il valore; infine ogni linea che inizia col carattere "%" viene valutata come codice ruby e <# ... %> rappresenta un commento.
Ad esempio se passiamo a erb il testo seguente
% str = "aoxomoxoa" <%= str %> al contrario si legge <%= str.reverse %>
otterremo come output:
aoxomoxoa al contrario si legge aoxomoxoa
Ovviamente questo è un esempio banale, ma eruby/erb rappresenta una valida alternativa ai linguaggi PHP, ASP e simili per la creazione di pagine dinamiche.
Testrb
Un semplice esecutore di test (Test::Unit
); dispone di diverse interfacce grafiche molto minimali (tk, gtk, fox) e di una modalità da linea di comando.
Le librerie di base
Oltre ai programmi appena visti, installando ruby in uno dei modi che vedremo nel prossimo capitolo, otterremo anche le librerie di base. In ambiente Linux si troveranno in /usr/lib/ruby/
mentre sotto Windows, se si sceglie il percorso consigliato dall'installer, saranno nella directory c:rubylibruby
. In tali directory di norma si trovano 3 sottodirectory:
1.8
: contiene i moduli e le estensioni standardgems
: contiene le librerie e le applicazioni installate con l'utility RubyGemssite_ruby
: contiene i moduli e le estensioni di terze parti, aggiunte dallo sviluppatore e che non fanno parte della distribuzione base.