Tag Archives: ruby array

Commenti in Ruby

Guida alla programmazione con Ruby

Al fine di rendere leggibile il codice, sarà possibile inserire delle righe di commento in Ruby, che precedute dal simbolo # (cancelletto), non saranno considerate dall’interprete  ma serviranno esclusivamente a spiegare lo scopo dell’istruzione.

È opportuno precisare che Ruby ci permette di inserire dei commenti in due differenti modi: il primo classico prevede l’inserimento del simbolo # (hash) all’inizio del commento, il codice inserito a partire da tale punto sarà ignorato dall’interprete. Esempi dell’utilizzo di tale procedura sono riportati di seguito:

# Questo è un commento
nome = “Luigi”   # Questo è un commento

Negli esempi precedenti abbiamo potuto verificare che un commento in Ruby può essere inserito anche nella stessa riga contenente del codice. Vediamo ora invece come procedere nel caso si volessero inserire dei commenti su più righe; in tal caso si può utilizzare ancora il simbolo # (hash):

# Primo commento 
# Secondo commento 
# Terzo commento

Oppure utilizzare il blocco commento utilizzando le parole chiave =begin ed =end:

=begin    
 Questo è    
 un commento    
 su più righe 
=end

È da notare che nei commenti in Ruby disposti su più righe, =begin ed =end devono trovarsi all’inizio della riga, senza alcuna indentazione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Operatori aritmetici in Ruby

Guida alla programmazione con Ruby

Passiamo allora ad analizzare gli operatori aritmetici in Ruby; iniziamo con il considerare l’operatore di assegnazione che è rappresentato dal segno uguale (=). È opportuno ricordare che il suo utilizzo nella programmazione è diverso dal suo uso consueto in matematica, così se scriviamo:

 a = b

non vogliamo intendere “a è uguale a b”, mentre invece vogliamo significare “assegna il valore di b alla variabile a”. Allora in un’istruzione di assegnazione, la parte a destra del segno di uguale può essere una qualsiasi espressione, mentre la parte a sinistra deve essere necessariamente il nome di una variabile. Per tale motivo scriveremo:

 variabile = espressione

cosicchè durante l’esecuzione dell’istruzione viene valutata l’espressione ed il risultato viene assegnato alla variabile. Il tipo del dato rappresentato dalla variabile viene stabilito nella fase di inizializzazione, ne consegue che per avere una variabile che memorizzi numeri decimali dovremo scrivere:

 a = 1.0

sottolineando il fatto che nell’ipotesi di valore unitario per conservare il tipo numero decimale dovremo necessariamente aggiungere lo zero l’operatore decimale cioè il punto.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

I nomi in Ruby

Guida alla programmazione con Ruby

Per assegnare i nomi a variabili, costanti, etc. in ambiente Ruby è necessario seguire delle regole specifiche. In questo post appunto impareremo ad assegnare in modo corretto i nomi in Ruby.

Con il primo carattere Ruby individua il tipo di elemento che intende rappresentare; un nome allora può essere costituito da una lettera maiuscola, minuscola o dal simbolo underscore seguito da altri caratteri, che a loro volta possono essere una qualsiasi combinazione di lettere maiuscole e minuscole, underscore e cifre.

I caratteri minuscoli corrispondono alle lettere minuscole dell’alfabeto, dalla a alla z, compreso il simbolo underscore, mentre i caratteri maiuscoli corrispondono alle lettere maiuscole dell’alfabeto dalla A alla Z e le cifre da 0 al 9.

Vediamo allora degli esempi di nomi impostati correttamente in ambiente Ruby:

  • Contatore – corretto
  • luigi_2003 -corretto
  • simone_ciaburro – corretto
  • _2008 - Consentito ma sconsigliato
  • Luigi+ciaburroErrato in quanto contiene il carattere +
  • when - Errato in quanto rappresenta una parola riservata
  • 2005_simone - Errato in quanto il primo carattere è una cifra

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Interactive Ruby

Guida alla programmazione con Ruby

Interactive Ruby rappresenta una sorta di shell interactive alla quale è possibile digitare tutti i comandi Ruby che potranno in questo modo essere eseguiti immediatamente. Proviamo il suo funzionamento attraverso una serie di esempi. Dapprima utilizziamo Interactive Ruby come un semplice calcolatore eseguendo una serie di operazioni banali, i risultati sono riportati nella Figura seguente.

Interactive Ruby

Abbiamo in questo modo verificato la sintassi delle operazioni matematiche fondamentali. Passiamo ora a qualcosa di più complesso, si fa per dire: stamperemo a video la famosa scritta con la quale si introduce qualsiasi linguaggio di programmazione ovvero Hello World!. Per fare questo, in Interactive Ruby,  basterà definire un oggetto ed immagazzinare in esso la scritta; apriremo come sempre la console di Ruby e digiteremo al prompt le seguenti istruzioni:

C:\InstanRails\rails_apps>irb
irb(main):001:0> def saluto
irb(main):002:1> puts "Hello World!"
irb(main):003:1> end
=> nil
irb(main):004:0> saluto
Hello World!
=> nil
irb(main):005:0>

come è possibile verificare non abbiamo fatto altro che definire una nuova struttura in Interactive Ruby, attribuendo ad essa il nome saluto ed in seguito ne abbiamo richiamato il nome ottenendo il saluto voluto.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Documentazione su Ruby con Ri

Guida alla programmazione con RubyLa prima cosa di cui un programmatore alle prime armi si preoccupa è di reperire il maggior numero di documentazione su Ruby. Allora il modo più veloce di reperire documentazione su Ruby è consultare ri. Preoccupiamoci inzialmente di verificare se la documentazioen Rubyè stata installata correttamente sul nostro computer. A tal proposito ricordiamo che Ruby come componente aggiuntivo presenta ri che rappresenta un programma che contiene tutta la documentazione relativa agli oggetti quali metodi, classi, e funzioni. Potremo condurre tale verifica digitando:

ri puts

che fornisce un messaggio di errore in quanto mi ricorda che la mia richiesta è troppo generica e deve essere affinata per poter restituire delle informazioni dettagliate. Per specificare meglio di che metodo si tratti, utilizzeremo la convenzione di indicare il nome dei metodi attraverso la seguente notazione:

  • nomeclasse#nomemetodo – per i metodi di istanza;
  • nomeclasse::nomemetodo – per i metodi di classe.

Allora scriveremo:

ri Kerenel#puts

per ottenere informazioni sul metodo puts della classe Kernel.

In questo modo ricaveremo il seguente risultato:

C:\InstanRails\rails_apps>ri Kernel#puts
----------------------------------------------------Kernel#puts
     puts(obj, ...)    => nil
---------------------------------------------------------------
     Equivalent to
         $stdout.puts(obj, ...)

 Per ottenere una lista delle classi per le quali ri fornisce documentazione digitare:

 ri –c

si ottiene una lista molto lunga che può scorrere attraverso l’utilizzo del tasto enter.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Le variabili d’ambiente in Ruby

Guida alla programmazione con Ruby

Le variabili d’ambiente in Ruby sono utilizzate per memorizzare alcune impostazioni relative al funzionamento del sistema o delle applicazioni installate. Sono utilizzate in tutti i principali sistemi operativi  ed alcune di esse si rivelano particolarmente utili per interagire in modo semplice ed efficace con il personal computer. Rappresentano delle stringhe di caratteri che contengono informazioni quali percorsi di file, unità disco, o nomi di file. Esse possono essere utilizzate per controllare il comportamento di diversi programmi.

Una lista delle principali variabili d’ambiente utilizzate da Ruby è riportata di seguito:

  • RUBYOPT: già impostata in fase d’installazione permette di passare delle opzioni addizionali all’interprete.
  • RUBYPATH: fornisce la lista di directory nelle quali Ruby cercherà le applicazioni nell’ipotesi in cui risulti specificato il flag -S.
  • RUBYLIB: fornisce la lista di directory contenenti librerie aggiuntive.
  • RUBYSHELL: rappresenta il persorso della shell di sistema, che risulta però valido solo per piattaforme Windows e OS/2.

Le variabili d’ambiente in Ruby assumono le seguenti caratteristiche:

  1.  sono accessibili attraverso un’apposita API del sistema operativo;
  2. in fase di creazione di un nuovo processo, sono inizializzate con una copia dei valori provvisti dal processo padre; il comportamento predefinito è quello di usare una copia delle variabili d’ambiente del processo creante;
  3. un processo non può modificare direttamente le variabili d’ambiente di un altro processo, tuttavia esiste un ambiente di riferimento che i processi possono consultare e modificare, e che viene usato dalla shell grafica per inizializzare le variabili d’ambiente dei programmi che avvia.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Le opzioni di Ruby

Guida alla programmazione con Ruby

Il linguaggio di programmazione Ruby è un linguaggio interpretato, nel senso che non necessita di compilazione, ma nel momento in cui viene eseguito, l’interprete si occuperà di trasformare il codice in un linguaggio comprensibile alla macchina. Le opzioni di Ruby ci consentono quindi di utilizzare in maniera appropriata l’interprete in modo da non avere problemi in fase di esecuzione del codice sorgente.

Vediamo nel dettaglio solo alcune delle opzioni di Ruby disponibili:

  • -c: con l’utilizzo di tale opzione viene controllata la sintassi dello script, senza che lo stesso venga eseguito. Nel caso il controllo dia esito positivo viene notificato il messaggio “Syntax OK”.
  • -d, –debug: tale opzione deve essere utilizzata per il debug di un file, la variabile $DEBUG è impostata a “true”.
  • -v, –verbose: fornisce informazioni aggiuntive che vengono dirottate verso l’output; tra le altre vengono esplicitate la versione dell’interprete, dei warning (che rappresentano dei messaggi di avvertimento) in fase di compilazione.
  • -w: risulta simile all’opzione –v, vista in precedenza, ma in questo caso non fornisce la versione di Ruby; con tale opzione può essere omesso il nome del programma da linea di comando, cosicché viene letto dallo standard input.
  • -e comando: con tale opzione viene eseguito il comando fornito come argomento all’opzione.

Le opzioni di Ruby, sono visualizzabili attraverso l’opzione -help.

ruby -help

il risultato è riportato nella Figura seguente.

ruby

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Guida alla console di Rails

Guida alla programmazione con Ruby

Dopo aver passato un pò di tempo a studiare le procedure di installazione del software passiamo a qualcosa di più interessante, quantomeno di più pratico. Verificheremo allora la corretta installazione del software proponendo una sorta di guida alla console di Rails.

Apriamo innanzitutto la console di Rails, cliccando sul bottone con la scritta I e seguendo il percorso  Rails Applications è Open Ruby Console Window, quindi iniziamo dall’interprete ruby digitando il seguente comando:

ruby –v

ottenendo qualcosa di simile:

ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

ruby

Nel caso dovessero verificarsi degli errori provate a verificare se dopo aver installato il software vi siete ricordati di impostare correttamente le variabili d’ambiente.

L’interprete Ruby si occupa dell’esecuzione dei programmi, le sue principali opzioni, sono visualizzabili attraverso l’opzione -help.

ruby -help

il risultato è riportato nella Figura seguente.

ruby

Figura: Guida alla console di Rails

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Installare Ruby on Rails su Mac OS X

Guida alla programmazione con Ruby

Per gli utenti del sistema operativo Mac installare Ruby on Rails su Mac OS X rappresenta davvero una cosa semplice. Questo perché con l’uscita di Leopard, Apple ufficializza il supporto a RoR (acronimo di Ruby on Rails), inserendolo direttamente nell’installazione base del proprio OS. L’inconveniente è dato dal fatto che comunque dovremo provvedere ad eseguire l’installazione del database MySQL.

Nel proseguo si supporrà installato sul sistema operativo il pacchetto Xcode, che se non già presente risulterà installabile dal cd di Mac OS X, altrimenti disponibile al seguente url:

http://developer.apple.com/

Nel caso si fosse in possesso di una versione precedente del sistema operativo è comunque confortante il fatto che l’istallazione del pacchetto assume le stesse difficoltà che presenta l’installazione di una qualsiasi applicazione, quindi nessuna. È da precisare che esiste un pacchetto autoinstallante comprendente tutto il software necessario per Mac OS X, denominato Locomotive, che è possibile recuperare al seguente url:

http://locomotive.raaum.org/

In tale pacchetto è previsto il database SQLite che viene installato contestualmente alle altre applicazioni.

ruby

Detto questo verifichiamo preventivamente se sul nostro computer sia presenti RoR; per farlo basterà lanciare questo comando:

ruby -v; rails -v

che nel caso restituisse una cosa del genere:

 ruby 1.8.6 (2007-06-07 patchlevel 36) [universal-darwin9.0]

Rails 1.2.3

confermerebbe la presenza di RoR sul pc ma ne dichiarerebbe anche una versione obsoleta, visto che la versione attualmente stabile è la 2.0.2. In questo caso per aggiornare la versione, sarà necessario aggiornare il software RubyGems, che come già indicato, ci consente di effettuare un aggiornamento delle librerie. In seguito potremo lanciare un aggiornamento di tutte le gemme presenti già nel sistema, c’è da precisare però che l’aggiornamento di Rails non installa il software activeresources, installeremo anche questo:

sudo gem update –system

sudo gem update

sudo gem install activeresource

Per completare la procedura di installazione manca il database MySQL, scaricabile al seguente url:

http://dev.mysql.com/downloads/

La versione corrente è disponibile in un package dmg ufficiale per Mac OS X 10.9, sottoforma del file:

mysql-5.6.21-osx10.9-x86_64.tar.gz

Terminato il download (165.7 Mb), cliccando due volte sull’immagine disco viene montato il dmg, doppio-click sul file installante ed il gioco è fatto. Sarà allora necessario avviare il server per renderlo operativo.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Installare MySQL su Linux

Guida alla programmazione con Ruby

Come già visto per l’installazione sotto Windows per poter ususfruire di tutte le potenzialità offerte dalla piattaforma Ruby on Rails sarà necessario installare MySQL su Linux, se non già presente sul nostro sistema.

In generale è possibile installare un DBMS generico;  analizzeremo in questa lezione l’installazione di MySQL attraverso la compilazione dei sorgenti. È possibile scaricare l’intero pacchetto in formato compresso dal seguente url:

http://dev.mysql.com/

dopo aver scaricato il file:

 mysql-5.0.51a.tar.gz

 sarà necessario spostarsi nella cartella local della partizione riservata agli utenti:

 cd /usr/local

 ed estrarre i file attraverso il seguente comando:

 tar xvf mysql-5.0.51a.tar.gz

ruby

quindi creiamo un link per accedere alla cartella in maniera più rapida ed accediamo ad essa:

ln -s mysql-5.0.51a mysql

cd mysql

Anche se è possibile eseguire il server come utente root, per evidenti ragioni di sicurezza risulta conveniente creare un utente speciale, la cui unica funzione è quella di eseguire il server MySQL. Chiameremo allora tale utente semplicemente mysql e dopo esserci connessi come root digiteremo i seguenti comandi al fine di crearlo:

groupadd mysql

useradd -g mysql mysql

A questo punto dalla directory mysql eseguiremo lo script seguente che installerà il database di default che sarà utilizzato da MySQL:

scripts/mysql_install_db –user=mysql

Il database MySQL conserva tutte le informazioni sui database nella sottocartella data, che si trova all’interno della cartella nella quale è installato. Allora sarà utile, sempre ai fini della sicurezza, fare in modo che nessuno, eccetto l’utente mysql, abbia accesso a tale cartella.

Per fare questo impartiremo i seguenti comandi, basandoci sull’ipotesi che il database sia installato nella cartella /usr/local/mysql:

 chown -R root .

chown -R mysql data

chgrp -R mysql

dopo aver fatto questo la procedura d’installazione è davvero finita, potremo allora avviare il server MySQL attraverso il comando:

mysqld_safe –user=mysql &

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Installare Rails su Linux

Guida alla programmazione con Ruby

Dopo aver installato RubyGems le cose diventano davvero semplici in quanto attraverso il suo utilizzo l’installazione dei pacchetti aggiuntivi diventa una cosa da ragazzi. Così per l’installazione di Ruby On Rails sarà sufficiente impartire il comando seguente:

gem install rails -y

che fornirà come risultato il seguente:

Attempting local installation of 'rails'
Local gem file not found: Rails*.gem
Attempting remote installation of 'rails'
Updating Gem source index for: http://gems.rubyforge.org
Successfully installed Rails-1.1.2
Successfully installed activesupport-1.3.1
Successfully installed activerecord-1.14.2
Successfully installed actionpack-1.12.1
Successfully installed actionmailer-1.2.1
Successfully installed actionwebservice-1.1.2
Installing RDoc documentation
for activesupport-1.3.1...
Installing RDoc documentation for activerecord-1.14.2...
Installing RDoc documentation for actionpack-1.12.1...
Installing RDoc documentation for actionmailer-1.2.1...
Installing RDoc documentation for actionwebservice-1.1.2...

L’opzione -y stabilisce tutte le dipendenze con i diversi moduli di Rails; verranno generate poi contestualmente delle pagine html contenenti la relativa documentazione.  Per consultare tale documentazione basterà impartire il comando:

gem_server

e dopo aver aperto il browser basterà inserire nella barra degli indirizzi il seguente url:

http://localhost:8808

si utilizza la porta 8808 in quanto non si tratta di una porta occupata da un altro servizio (ad esempio come per la porta 80 occupata per il collegamento ad internet); a questo punto potremo concludere la procedura di installazione verificando il corretto funzionamento attraverso il comando:

rails nomeprogetto

con il quale sarà possibile creare la struttura di una nuova applicazione web. Dopo aver fatto questo ci sposteremo nella directory che contiene il progetto appena creato ed impartiremo il comando:

ruby script/server

Infine aprendo una finestra del browser al seguente indirizzo:

http://localhost:3000

la prova della corretta installazione dovrebbe essere fornita dalla comparsa di un messaggio che si complimenta per l’avvenuta installazione.

Nella procedura di installazione seguita abbiamo notato che  non è stato necessario installare un Web server, questo perchè nonostante che Rails sia in grado di funzionare con diversi Web server, Ruby include una libreria che permette di creare semplici server multithread.

Per tale ragione il framework è provvisto di un miniserver che si dimostra più che sufficiente per lo sviluppo di applicazioni web.  Esempi di server professionali supportati dal framework sono lighttpd e mongrel; nel caso in cui tali pacchetti siano correttamente installati il framework sarà in grado di utilizzarli senza la necessità di configurazione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO: