Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Ruby"
Differenze tra le versioni 1 e 25 (in 24 versioni)
Versione 1 del 19/04/2009 10.56.33
Dimensione: 3851
Commento:
Versione 25 del 13/08/2021 11.25.41
Dimensione: 5633
Autore: jeremie2
Commento: RubyGem per Ruby installato dal repo Ubuntu
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 2: Linea 2:
#language it
Linea 3: Linea 4:
#language it <<Indice(depth=1)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=421926"; rilasci="20.04";)>>
Linea 5: Linea 8:
'''Ruby''' è un [http://it.wikipedia.org/wiki/Linguaggio_di_programmazione linguaggio] di [http://it.wikipedia.org/wiki/Scripting scripting] completamente a [http://it.wikipedia.org/wiki/Programmazione_orientata_agli_oggetti oggetti]. Nato nel [http://it.wikipedia.org/wiki/1993 1993] come progetto personale del [http://it.wikipedia.org/wiki/Giappone giapponese] [http://it.wikipedia.org/wiki/Yukihiro_Matsumoto Yukihiro Matsumoto] (spesso chiamato semplicemente ''Matz''), Ruby è stato il primo linguaggio di programmazione sviluppato in Oriente a guadagnare abbastanza popolarità da superare la barriera linguistica che separa l'[http://it.wikipedia.org/wiki/Informatica informatica] nipponica da quella internazionale e ad essere usato anche in Occidente in progetti di rilievo.
Linea 7: Linea 9:
Il linguaggio che ha maggiormente ispirato l'autore è lo [http://it.wikipedia.org/wiki/Smalltalk Smalltalk]^[[http://it.wikipedia.org/wiki/Wikipedia:Cita_le_fonti senza fonte]]^, da cui Ruby ha tratto la maggior parte delle sue caratteristiche. A seguire ci sono il [http://it.wikipedia.org/wiki/Lisp Lisp] (ed in generale i [http://it.wikipedia.org/wiki/Programmazione_funzionale linguaggi funzionali]), da cui provengono le [http://it.wikipedia.org/wiki/Chiusura_(informatica) chiusure] (blocchi o ''proc'', in Ruby), e il [http://it.wikipedia.org/wiki/Perl Perl], per la [http://it.wikipedia.org/wiki/Sintassi sintassi] e l'espressività.

Nell'implementazione corrente, Ruby è un linguaggio interpretato. L'[http://it.wikipedia.org/wiki/Interprete_(informatica) interprete], scritto in [http://it.wikipedia.org/wiki/C_(linguaggio) C], è rilasciato con una doppia [http://it.wikipedia.org/wiki/Licenza_(informatica) licenza], [http://it.wikipedia.org/wiki/Licenza_GPL GPL] oppure "Licenza Ruby", in stile [http://it.wikipedia.org/wiki/Licenza_BSD BSD], e si trova attualmente alla versione 1.9.1.

Negli ultimi anni la popolarità di Ruby ha subito una forte impennata, dovuta alla comparsa di framework di successo per lo sviluppo di applicazioni web, come [http://it.wikipedia.org/w/index.php?title=Nitro_(software)&action=edit&redlink=1 Nitro] e [http://it.wikipedia.org/wiki/Ruby_on_Rails Ruby On Rails], nonché del [http://it.wikipedia.org/w/index.php?title=Metasploit_Framework&action=edit&redlink=1 Metasploit Framework], ambiente per la creazione e l’esecuzione facilitata di [http://it.wikipedia.org/wiki/Exploit exploit]. (Da Wikipedia)
'''Ruby''' è un linguaggio di programmazione a oggetti particolarmente utilizzato in ambito web.<<BR>>
Viene qui mostrato come installare i pacchetti base disponibili direttamente in Ubuntu oppure utilizzando strumenti più adatti in ambiente di sviluppo ('''RVM''', '''!RubyGems''').
Linea 14: Linea 13:
Per installare l'interprete ruby è sufficiente scegliere il pacchetto ''ruby'' utilizzando ["AmministrazioneSistema/Synaptic"] o da riga di comando:
Linea 16: Linea 14:
{{{
sudo apt-get install ruby irb
{{{#!wiki tip
Se si avesse la necessità di installare una versione di '''Ruby''' differente da quella presente nei [[Repository|repository]] o comunque avere a disposizionie più versioni in ambiente di sviluppo, è consigliabile seguire la guida su [[Programmazione/Ruby/Rvm|RVM]].
Linea 20: Linea 18:
== Ruby 1.8.x o Ruby 1.9.x ==
Attualmente il pacchetto ruby si riferisce a '''ruby 1.8''', la versione stabile e più usata. Nel repository è disponibile anche ruby 1.9 che offre prestazioni, ma il supporto di librerie di terze parti non è ancora completo. '''Ruby 1.9''' è supportato da versioni di Ruby on Rails 2.3 e superiori.
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://ruby|ruby]].
Linea 23: Linea 20:
= Iniziare ad usare Ruby =
Normalmente i sorgenti ruby hanno estensione .rb e per avviarli si digita: ruby ''sorgente''.rb Per prendere un po' di famigliarità si può usare '''irb''' che è una console interattiva
= Installazione tramite RVM =
Linea 26: Linea 22:
{{{
$ irb # aprite un terminale e digitate irb
irb(main):001:0> puts 'ciao mondo'
ciao mondo
=> nil
irb(main):002:0> 4.times{ puts Time.now }
Sat Apr 18 19:57:49 +0200 2009
Sat Apr 18 19:57:49 +0200 2009
Sat Apr 18 19:57:49 +0200 2009
Sat Apr 18 19:57:49 +0200 2009
 * Consultare il [[Programmazione/Ruby/Rvm|seguente guida]].

= Esecuzione script =

Viene preso come esempio uno script che simula il lancio di un dado... con la speranza di fare 6 ;)

 0. Salvare nella propria '''Home''' un file di testo col nome `dado.rb` contenente le seguenti stringhe:{{{
print 'Premi invio per tirare il dado '
gets
risultato = rand(1..6)
risultato == 6 ? puts('Wow! Hai fatto 6 :)') : puts("Hai fatto #{risultato}")
}}}
 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
ruby dado.rb
}}}Se tutto è stato eseguito nel modo corretto si avvia un semplice gioco interattivo in cui viene lanciato un dado e si visualizzerà un risultato di questo tipo:{{{
Premi invio per tirare il dado
Hai fatto 3
Linea 38: Linea 41:
= Altre risorse =
Ruby Italia: http://ruby-it.org
== Metodo alternativo ==
Linea 41: Linea 43:
 0. inserire all'inizio dello script la direttiva:{{{
#!/usr/bin/env ruby
#!/usr/bin/env ruby
}}}
 0. Rendere lo script eseguibile con il comando:{{{
chmod u+x dado.rb
}}}
 0. Sarà ora possibile avviare lo script con il comando:{{{
./dado.rb
}}}
Linea 42: Linea 54:
Sito ufficialeRuby: http://www.ruby-lang.org/it = Shell interattiva =
Linea 44: Linea 56:
'''Ruby''' è provvisto di una shell interattiva chiamata '''irb'''. Tuttavia viene spesso preferita '''[[https://pry.github.io/|pry]]''' in quanto più performante e con funzionalità aggiuntive in particolare per il debug. In tal caso [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://pry|pry]].
Linea 45: Linea 58:
Un video che realizza una piccola applicazione in Ruby e Gtk: http://grigio.org/linuxcast_14_programmare_linux  * Per invocare la shell interattiva sarà, a seconda dei casi, sufficiente digitare il comando:{{{
irb
}}}oppure:{{{
pry
}}}

 * Per uscire dalla shell interattiva, digitare:{{{
exit
}}} oppure la combinazione di tasti '''Ctrl+Z'''.

= Rubocop =

'''[[https://rubocop.org/|RuboCop]]''' è un analizzatore di codice in grado di rilevare eventuali divergenze dalle [[https://github.com/rubocop/ruby-style-guide/blob/master/README.adoc|linee guida]] stilistiche riguardanti la sintassi di '''Ruby'''. Può rivelarsi uno strumento molto utile a migliorare il codice rilevando il cattivo utilizzo di:
 * indentazione
 * spazi vuoti
 * variabili inutilizzate
 * metodi (funzioni in Ruby) eccessivamente lunghe
 * altro..

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://rubocop|rubocop]].

{{{#!wiki tip
Il pacchetto è installabile anche tramite [[#gem|RubyGem]].
}}}

Per utilizzarlo, supponendo di aver creato il file `script.rb` nella propria '''Home''', attraverso il comando:
 {{{
rubocop script.rb
}}}

 <<Anchor(gem)>>
= Gestore pacchetti RubyGem =

'''Ruby''' ha internamente un suo gestore di pacchetti [[https://rubygems.org/|RubyGem]] per aggiungere funzionalità al linguaggio.<<BR>>
Tuttavia è bene fare un distinguo in base al caso si stia utilizzando la versione di '''Ruby''' resa disponibile da Ubuntu oppure tramite un [[Programmazione/Ruby/Rvm|manager di versione]].<<BR>>
 * '''!RubyGem''' sarà il gestore pacchetti di riferimento nel caso si stia utilizzando una versione di Ruby installata tramite [[Programmazione/Ruby/Rvm|manager di versione]].
 * Se invece si sta utilizzando la versione '''fornita da Ubuntu''', è bene sapere che una vasta gamma di pacchetti aggiuntivi sono già presenti all'interno dei repository di Ubuntu. Pertanto in molti casi non sarà necessario ricorrere a metodi alternativi per installarli.<<BR>>Tuttavia nel caso si optasse per l'utilizzo di '''!RubyGem''', sarà necessario impostare le variabili di ambiente aggiungendo nel file `.bashrc` presente nella propria '''home''' le seguenti righe:{{{
## Ruby gem
export GEM_HOME="$HOME/.gem"
export PATH="$HOME/.gem/bin:$PATH"
}}}Andrà quindi riavviato il terminale se in utilizzo.

== Utilizzo ==

Il generico comando per installare un pacchetto è del tipo:
 {{{
gem install NOME_PACCHETTO
}}}
Ad esempio, per installare il pacchetto ''rubocop'', il comando diviene:
 {{{
gem install rubocop
}}}
Per installare una versione specifica, ad es. la '''0.86.0''', il comando diviene:
 {{{
gem install rubocop --version 0.86.0
}}}

{{{#!wiki tip
Per ulteriori comandi consultare la [[https://guides.rubygems.org/rubygems-basics/|guida ufficiale]].
}}}

= Guide per principianti =

 * [[https://launchschool.com/books/|Sito launchschool.com]]
 * [[http://rubymonstas.org/|Sito rubymonstas.org]]
 * [[https://www.rubyguides.com|Sito rubyguides.com]]

= Ulteriori risorse =

 * [[http://www.ruby-lang.org/it|Sito ufficiale del progetto]]
 * [[https://ruby-doc.com/|Documentazione ufficiale]]
 * [[https://rvm.io/|Sito ufficiale di RVM]]
 * [[https://rubygems.org/|Sito ufficiale di RubyGems]]
 * [[Programmazione/RubyOnRails|Guida per Ruby on Rails]]
Linea 47: Linea 134:
CategoryNuoviDocumenti CategoryProgrammazione

Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Ruby è un linguaggio di programmazione a oggetti particolarmente utilizzato in ambito web.
Viene qui mostrato come installare i pacchetti base disponibili direttamente in Ubuntu oppure utilizzando strumenti più adatti in ambiente di sviluppo (RVM, RubyGems).

Installazione

Se si avesse la necessità di installare una versione di Ruby differente da quella presente nei repository o comunque avere a disposizionie più versioni in ambiente di sviluppo, è consigliabile seguire la guida su RVM.

Installare il pacchetto ruby.

Installazione tramite RVM

Esecuzione script

Viene preso come esempio uno script che simula il lancio di un dado... con la speranza di fare 6 ;)

  1. Salvare nella propria Home un file di testo col nome dado.rb contenente le seguenti stringhe:

    print 'Premi invio per tirare il dado '
    gets
    risultato = rand(1..6)
    risultato == 6 ? puts('Wow! Hai fatto 6 :)') : puts("Hai fatto #{risultato}")
  2. Digitare nel terminale:

    ruby dado.rb 

    Se tutto è stato eseguito nel modo corretto si avvia un semplice gioco interattivo in cui viene lanciato un dado e si visualizzerà un risultato di questo tipo:

    Premi invio per tirare il dado 
    Hai fatto 3

Metodo alternativo

  1. inserire all'inizio dello script la direttiva:

    #!/usr/bin/env ruby
  2. Rendere lo script eseguibile con il comando:

    chmod u+x dado.rb
  3. Sarà ora possibile avviare lo script con il comando:

    ./dado.rb

Shell interattiva

Ruby è provvisto di una shell interattiva chiamata irb. Tuttavia viene spesso preferita pry in quanto più performante e con funzionalità aggiuntive in particolare per il debug. In tal caso installare il pacchetto pry.

  • Per invocare la shell interattiva sarà, a seconda dei casi, sufficiente digitare il comando:

    irb

    oppure:

    pry
  • Per uscire dalla shell interattiva, digitare:

    exit

    oppure la combinazione di tasti Ctrl+Z.

Rubocop

RuboCop è un analizzatore di codice in grado di rilevare eventuali divergenze dalle linee guida stilistiche riguardanti la sintassi di Ruby. Può rivelarsi uno strumento molto utile a migliorare il codice rilevando il cattivo utilizzo di:

  • indentazione
  • spazi vuoti
  • variabili inutilizzate
  • metodi (funzioni in Ruby) eccessivamente lunghe
  • altro..

Installare il pacchetto rubocop.

Il pacchetto è installabile anche tramite RubyGem.

Per utilizzarlo, supponendo di aver creato il file script.rb nella propria Home, attraverso il comando:

  • rubocop script.rb

Gestore pacchetti RubyGem

Ruby ha internamente un suo gestore di pacchetti RubyGem per aggiungere funzionalità al linguaggio.
Tuttavia è bene fare un distinguo in base al caso si stia utilizzando la versione di Ruby resa disponibile da Ubuntu oppure tramite un manager di versione.

  • RubyGem sarà il gestore pacchetti di riferimento nel caso si stia utilizzando una versione di Ruby installata tramite manager di versione.

  • Se invece si sta utilizzando la versione fornita da Ubuntu, è bene sapere che una vasta gamma di pacchetti aggiuntivi sono già presenti all'interno dei repository di Ubuntu. Pertanto in molti casi non sarà necessario ricorrere a metodi alternativi per installarli.
    Tuttavia nel caso si optasse per l'utilizzo di RubyGem, sarà necessario impostare le variabili di ambiente aggiungendo nel file .bashrc presente nella propria home le seguenti righe:

    ## Ruby gem
    export GEM_HOME="$HOME/.gem"
    export PATH="$HOME/.gem/bin:$PATH"
    Andrà quindi riavviato il terminale se in utilizzo.

Utilizzo

Il generico comando per installare un pacchetto è del tipo:

  • gem install NOME_PACCHETTO

Ad esempio, per installare il pacchetto rubocop, il comando diviene:

  • gem install rubocop

Per installare una versione specifica, ad es. la 0.86.0, il comando diviene:

  • gem install rubocop --version 0.86.0

Per ulteriori comandi consultare la guida ufficiale.

Guide per principianti

Ulteriori risorse


CategoryProgrammazione