English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scriviamo un programma Ruby semplice. Tutti i file Ruby hanno un'estensione di file .rbQuindi, metti il seguente codice sorgente nel file test.rb.
#!/usr/bin/ruby -w puts "Hello, Ruby!";
Supponiamo che nel tuo percorso /usr/bin ci sia già il interprete Ruby disponibile. Ora, prova a eseguire questo programma, come segue:
$ ruby test.rb
Questo produrrà il seguente risultato:
Hello, Ruby!
Hai visto un programma Ruby semplice, ora vediamo alcune concetti base di sintassi Ruby:
In Ruby, i caratteri di spazio in bianco, come spazi e tabulazioni, sono generalmente ignorati, a meno che non si trovino all'interno di una stringa, quando non vengono ignorati. Tuttavia, a volte vengono utilizzati per chiarire frasi ambigue. Quando l'opzione -w è abilitata, questa interpretazione produce avvisi.
Esempio:
a + b viene interpretato come a+b (questo è una variabile locale) a + b viene interpretato come a(+b) (questo è un chiamata a metodo)
Ruby interpreta il punto e virgola e l'invio di riga come fine della frase. Tuttavia, se Ruby incontra un operatore alla fine della riga, come +, -, o barra invertita, essi rappresentano la continuazione di una frase.
Un identificatore è il nome di una variabile, una costante o un metodo. Gli identificatori in Ruby sono sensibili alle maiuscole e minuscole. Questo significa che Ram e RAM sono due identificatori diversi in Ruby.
Il nome di un identificatore in Ruby può contenere lettere, numeri e caratteri di sottolineatura (_).
La tabella seguente elenca i riservati in Ruby. Questi riservati non possono essere utilizzati come nomi di costanti o variabili. Tuttavia, possono essere utilizzati come nomi di metodi.
BEGIN | do | next | then |
END | else | nil | true |
alias | elsif | not | undef |
and | end | or | unless |
begin | ensure | redo | until |
break | false | rescue | when |
case | for | retry | while |
class | if | return | while |
def | in | self | __FILE__ |
defined? | modulo | super | __LINE__ |
Un "Here Document" è un modo per creare stringhe multilinha. Dopo <<, puoi specificare una stringa o un identificatore per terminare la stringa, e tutte le righe successive fino al terminatore sono il valore della stringa.
Se il terminatore è racchiuso tra virgolette, il tipo di stringa a righe è determinato dal tipo di virgoletta. Nota che non ci devono essere spazi tra << e il terminatore.
Ecco un altro esempio:
#!/usr/bin/ruby -w # -*- coding: utf-8 -*- print <<EOF Questo è il primo modo per creare un here document. stringa multilinha. EOF print <<"EOF"; # Come sopra Questo è il secondo modo per creare un here document. stringa multilinha. EOF print <<`EOC` # Esegui comando echo hi there echo lo there EOC print <<"foo", <<"bar" # Puoi metterle uno sopra l'altra Ho detto foo. foo Ho detto bar. bar
這將產生以下結果:
Questo è il primo modo per creare un here document. stringa multilinha. Questo è il secondo modo per creare un here document. stringa multilinha. hi there lo there Ho detto foo. Ho detto bar.
BEGIN { code }
dichiarazione code Viene chiamata prima dell'esecuzione del programma.
#!/usr/bin/ruby puts "這是主 Ruby 程序" BEGIN { puts "初始化 Ruby 程序" }
這將產生以下結果:
初始化 Ruby 程序 這是主 Ruby 程序
END { code }
dichiarazione code Viene chiamata alla fine del programma.
#!/usr/bin/ruby puts "這是主 Ruby 程序" END { puts "停止 Ruby 程序" } BEGIN { puts "初始化 Ruby 程序" }
這將產生以下結果:
初始化 Ruby 程序 這是主 Ruby 程序 停止 Ruby 程序
註釋會對 Ruby 解釋器隱藏一行,或者一行的一部分,或者若干行。您可以在行首使用字符( # ):
# 我是註釋,請忽略我。
或者,註釋可以跟隨語句或表達式的同一行的後面:
name = "Madisetti" # 這也是註釋
您可以註釋多行,如下所示:
# 這是註釋。 # 這也是註釋。 # 這也是註釋。 # 這還是註釋。
下面是另一種形式。這種塊註釋會對解釋器隱藏 =begin/=end 之間的行:
=begin 這是註釋。 這也是註釋。 這也是註釋。 這還是註釋。 =end