Tag Archives: ruby

Operatori relazionali in Ruby

Guida alla programmazione con Ruby

Gli operatori relazionali in RUBY operano su operandi numerici e di caratteri e forniscono come risultato un valore logico (vero o falso).

In un espressione logica in cui compare un operatore relazionale, gli operatori coinvolti vengono confrontati e dalla relazione tra di essi scaturisce il risultato. Gli operatori relazionali previsti dal Ruby sono elencati di seguito:

== Uguale
!= Non uguale
. < Minore
<= Minore o uguale
> Maggiore
>= Maggiore o uguale

Allora una tipica espressione logica che presenta un operatore relazionale assumerà la forma seguente:

var1 > var2
var1 < var2

 Se la relazione imposta dall’operatore su var1 e var2 risulta vera, allora il risultato sarà .TRUE. altrimenti sarà .FALSE.

Come riportato nella Tabella precedente l’operatore relazionale in Ruby di uguaglianza è rappresentato dal simbolo == (due segni di uguale); a differenza del simbolo =  (un solo segno di uguale) che invece viene adoperato per l’istruzione di assegnazione. Spesso, infatti, si commette l’errore di utilizzare il simbolo = per indicare l’operatore relazionale di uguaglianza.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

La programmazione ad oggetti in Ruby

Guida alla programmazione con Ruby

Abbiamo già specificato che Ruby è totalmente Object Oriented, questo si traduce nel fatto che in ruby tutto è un oggetto. In tale aspetto riesce a surclassare il linguaggio ad oggetti per eccellenza e cioè Java in quanto in ruby non esiste nessuna distinzione tra tipi base e oggetti, allo stesso tempo la programmazione orientata agli oggetti in ruby non risulta ne invasiva ne fastidiosa, e ciò è dovuto alla sua maggior purezza.

Una caratteristica particolarmente gradita dai programmatori Ruby è stata la possibilità di utilizzare i cosiddetti blocchi che rappresentano una feature non comune nei linguaggi più diffusi e che permettono di rappresentare diversi problemi, anche molto diversi tra loro, con modalità chiare e significative.

Il Ruby risulta amato, allo stesso modo, dai programmatori professionisti che ne apprezzano le caratteristiche più avanzate, e dai principianti in quanto si presenta particolarmente adatto ad essere appreso come primo linguaggio.

Infatti grazie alla sua semplicità, è possibile comprendere le nozioni di base della programmazione, senza doversi preoccupare di innumerevoli convenzioni e aspetti non strettamente legati alla realizzazione degli algoritmi numerici.

RUBYOS

Inoltre possiamo dire che Ruby si presenta efficacemente espressivo in quanto fornisce molte strutture dati e tipi builtin, che rappresentano quelli offerti dal linguaggio; esempi sono:

  • hash,
  • array dinamici,
  • regexp,
  • numeri interi di dimensione arbitraria.

Le classi in ruby presentano un’interfaccia molto dettagliata, che determina una semplicità nell’utilizzo nelle operazioni comuni.

Una caratteristica che ha determinato il successo di Ruby nel panorama mondiale della programmazione è stata la sua estrema portabilità; esistono versioni di Ruby per piattaforma Linux (suo ambiente naturale visto che in tale contesto è stato sviluppato), per sistemi operativi Unix-like, Mac OS, e Windows in tutte le sue versioni.

RUBYOS

La versatilità di Ruby si manifesta nella sua interezza ,dal momento che esiste una versione di Ruby anche per l’obsoleto sistema operativo con interfaccia orientata ai caratteri MS-DOS.

Caratteristiche del linguaggio di programmazione Ruby

Guida alla programmazione con Ruby

Le caratteristiche peculiari di Ruby lo rendono un linguaggio di programmazione soprattutto semplice, il suo utilizzo si apprende in pochi giorni, senza presentare grosse difficoltà grazie ad una sintassi snella e davvero pratica; in aggiunta presentando a corredo un numero davvero corposo di librerie incluse nella distribuzione ed integrabili con quelle installabili tramite RubyGems si rende possibile, come già anticipato  realizzare i nostri programmi in brevissimo tempo.

Ruby si presenta particolarmente dinamico, un esempio è fornito dal fatto che le variabili possono essere tranquillamente utilizzate senza la necessità di dichiararne il tipo, sarà allora l’interprete in grado di identificarle; tutto questo però senza perdere in precisione in quanto le operazioni non consentite tra tipi diversi provocheranno un errore, cioè non potrà mai accadere, in modo più o meno nascosto, che un valore di un certo tipo venga utilizzato come se fosse di tipo diverso (strong typing).

Grazie a questo un operazione del tipo 1+”2″ (somma di un numero e di una stringa) determinerà un errore di runtime (errore in fase di esecuzione), diversamente da linguaggi come php o perl che invece non permettono un controllo analogo.

In ruby è possibile manipolare le classi ed i metodi a runtime, cioè possono essere aggiunti, cancellati o modificati in fase di esecuzione. In questo modo molte delle cose che negli altri linguaggi rappresentano delle strutture complesse possono in ruby costituire dei semplici metodi; è altresì possibile aggiungere classi e metodi personalizzati, creando dei Domain Specific Language (DSL).

DLS

Un Domain Specific Language è un minilinguaggio adatto ad un problema specifico, l’ideale sarebbe avere un linguaggio per ogni scopo, ma senza il problema di doverlo ogni volta imparare da zero. D’altronde il cuore della programmazione è costruire degli strumenti che permettano di risolvere un problema, ed un linguaggio è lo strumento per eccellenza.

Ruby è perfetto per la costruzione di semplici DSL da utilizzare all’interno della propria applicazione, grazie alla sua sintassi ed alle sue funzionalità di metaprogrammazione.

Le origini del linguaggio Ruby

Guida alla programmazione con Ruby

Ruby rappresenta un linguaggio di scripting interpretato per la programmazione orientata agli oggetti, dove il termine interpretato sta a significare che un’applicazione Ruby sarà eseguita senza che la stessa necessiti preventivamente di essere compilata.

Il linguaggio Ruby è nato nel 1993 come progetto personale del giapponese Yukihiro Matsumoto (spesso chiamato semplicemente Matz), pertanto Ruby rappresenta il primo esempio di linguaggio di programmazione sviluppato completamente in oriente che è riuscito a guadagnare abbastanza popolarità in occidente.

Questo perché fino ad allora, in ragione di evidenti problemi dovuti alle differenze linguistiche che si manifestano anche e soprattutto a causa del set di caratteri totalmente diverso da quello adottato nella informatica internazionale, gli sviluppatori nipponici erano stati ghettizzati e quindi costretti ad utilizzare i prodotti che provenivano dall’altra parte del mondo per evitare di peggiorare lo stato di isolamento in cui imperversavano.

Grazie a Ruby questa tendenza è stata spinta nella direzione contraria, ed oggi possiamo affermare che numerosi progetti di rilievo in ambito internazionale siano stati scritti utilizzando la nuova piattaforma.

 Il linguaggio Ruby trae origini da linguaggi ad oggetti quali lo Smalltalk, da cui ha tratto la maggior parte delle sue caratteristiche, quindi il Lisp quale linguaggio funzionale, a cui si devono i blocchi, ed infine il Perl, da cui derivano la sintassi e l’espressività.

 lisp

Come già anticipato Ruby rappresenta un linguaggio interpretato, nel senso che per poter essere eseguito non necessita di una preventiva compilazione, come invece avviene per la maggior parte del linguaggi di programmazione, ma è sufficiente che sia presente un interprete che traduca le istanze e le trasformi in linguaggio comprensibile all’utente.

L’interprete è stato scritto in linguaggio C, rilasciato sotto doppia licenza, GPL e Ruby license, che rappresenta una sorta di licenza BSD ovvero una famiglia di licenze permissive per il software. Tutto questo per dire in parole povere che con Ruby possiamo farci tutto quello che vogliamo, anche se la cosa migliore che potremmo fare è contribuire alla crescita della piattaforma. La distribuzione di Ruby si trova attualmente alla versione 1.8.6 mentre si è in trepidante attesa per l’annunciata versione 2.0 che promette delle interessanti novità.

Il successo di Ruby è dovuto anche alla presenza di framework di successo per lo sviluppo di applicazioni web, come Nitro e Ruby On Rails che rappresentano degli ambienti integrati che permettono di realizzare interi siti con il minimo impegno offrendo una serie di librerie di codice.