Ruby – leggere da terminale e commenti

r5OK, c’è stata una lunga pausa nell’esame di Ruby. L’ultima puntata è stata questa, tanto tempo fa: Ruby – iniziamo con gli script.
Ora ripaprto. E continuiamo a fare pratica con gli script. Dopo “Hello World!” sarebbe bello che lo script salutasse proprio te. Così:

#!/usr/bin/ruby
puts "Ciao sono il 'puter"
print "come ti chiami:"
name = gets()
puts "Ciao #{name}Buona giornata!"

c1

gets fa l’opposto di puts: invece di scrivere la stringa sul terminale legge quella che scriviamo.

Naturalmente la quinta riga potevamo scriverla anche come: puts "Hello " + name + " Buona giornata!"

Due cose:

  • notare l’a-capo anomalo prima di "Buona giornata", sarà da indagare in futuro;
  • solo per chi usa Linux la prima riga è speciale, permette di rendere lo script eseguibile in questo modo:

c1-1

In Windows non esiste l’equivalente e la riga viene considerata come un commento, come in realtà è.

Già, i commenti. Tranne dentro le stringhe “” come nel caso precedente Ruby considera il carattere # e tutto quello che segue fino alla fine della riga come un commento, serve a noi ed è ignorato dall’interprete, come in questo caso:

#!/usr/bin/ruby

# esempio (scemo) di commenti
v1 = 5 # primo dato
v2 = 7 # secondo
res = v1 + v2 # somma
print "la somma di #{v1} + #{v2} vale #{res} #sapevatelo\n"

c2

Qui vediamo diversi tipi di commenti:

  • la prima riga, speciale di cui abbiamo già detto (è talmente speciale che ha un nome, shebang);
  • la terza riga, tutta di commento;
  • le righe 4, 5 e 6 con un’istruzione e poi un commento;

Notare che il carattere # nell’ultima riga non è un commento. Anche le righe vuote, come la seconda vengono ignorate dall’interprete, proprio come i commenti.

Alle volte il commento che vogliamo scrivere è troppo lungo per una riga sola. In questo caso possiamo fare così:

#!/usr/bin/ruby

=begin
    esempio (scemo) di commento multilinea
    è tutto un commento fino a quando lo
    chiudiamo con la keyword che segue
=end
v1 = 5 # primo dato
v2 = 7 # secondo
res = v1 * v2 # prodotto
print "il prodotto di #{v1} * #{v2} vale #{res} #sapevatelo\n"

c3

Quando la lunghezza dello script supera poche righe questo tipo di commenti diventano molto utili, non immaginate quanto. Notare che le keyword =begin e =end devono cominciare in prima colonna, niente spazi.

Compito a casa: cosa succede se metto un commento multilinea dentro a un commento multilinea? 😉

Posta un commento o usa questo indirizzo per il trackback.

Commenti

  • Neuromante70  Il 14 maggio 2013 alle 08:21

    Chiedo scusa, da umile lettore principiante di Ruby (per questo sono qui) mi permetto di segnalare che alla fine delle righe (quelle con print)

    print “la somma di #{v1} + #{v2} vale #{res} #sapevatelo\n
    print “il prodotto di #{v1} * #{v2} vale #{res} #sapevatelo\n

    bisogna mettere le doppie virgolette, sennò dà errore (unterminated string meets end of file). Per cui le righe di codice corrette sono:

    print “la somma di #{v1} + #{v2} vale #{res} #sapevatelo\n”
    print “il prodotto di #{v1} * #{v2} vale #{res} #sapevatelo\n”

    Complimenti invece per i corsi che fate, davvero belli. Io sto seguendo questo su Ruby ma in prospettiva mi interessava seguire Python e Go.

    • juhan  Il 14 maggio 2013 alle 09:04

      Grazie delle correzioni. Fossero tutte così le scuse!
      C’è da dire che c’è stato lo zampino di WordPress, negli script originali le virgolette c’erano. Certo poi dovevo controllare.
      Adesso correggo, ancora grazie!

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: