2012-10-16 17 views
6

Possible Duplicate:
How to run ruby files?Come far partire programmi Ruby in MAC OS Terminal

Sto iniziando a imparare Ruby e avendo un momento difficile esecuzione delle classi di Ruby nel terminale.

Ho creato una classe nell'editor di testo sublime, solo "ciao mondo". Posso compilare usando ruby hello.rb, ma come eseguirlo?

Sono andato al terminale nella mia directory principale e ho digitato rails c che mi ha dato una console. Qualcuno potrebbe dirmi come creare un'istanza? Quale console devo usare?

+0

Digitare 'uomo irb'. –

+0

Google è tuo amico. Il primo risultato per "rails console" è http://guides.rubyonrails.org/command_line.html. – Thilo

risposta

9

Ruby è interpretato, quindi non è necessario preoccuparsi di una fase di compilazione separata. ruby hello.rbè il comando di esecuzione.

La shell interattiva standard (REPL) è irb.

+0

Sì, dopo aver digitato ruby ​​hello.rb non mi ha dato niente, quindi nessun errore.Dopo aver tentato di scendere sotto l'errore in irb 1.9.3-p194: 003> h = Hello.new() NameError: variabile locale o metodo non definito ' ciao 'per main: Object – Ducati007

+0

Difficile dire senza vedere il tuo codice. – pje

+0

classe Hello def dire mette "ciao Mondo" fine fine – Ducati007

0

Come altri hanno sottolineato, l'esecuzione di ruby hello.rbfa esegue lo script; non vi è alcuna compilazione (eccetto dietro le quinte nella macchina virtuale Ruby, ma non è necessario occuparsene).

Sulla base del codice del file che hai dato in un commento (ho messo in interruzioni di riga e di rientro):

class Hello 
    def say 
    puts "hello World" 
    end 
end 

... il motivo lo script non sembra fare nulla è che definisce solo una classe e un metodo ma non istanzia la classe o chiama il metodo. Hai avuto l'idea giusta (in un altro commento) per chiamare h = Hello.new(); dopo di che puoi mettere h.say e dirà "ciao Mondo".

(parentesi solito non sono necessari, anche in queste due chiamate di metodo,.. Ma a volte sono importanti Ci sono convenzioni diverse, ma la maggior parte Rubysti saltare quando chiama metodi senza argomenti, come new e say qui)

MODIFICA: rails c è per Ruby on Rails, che è un'entità separata dal linguaggio Ruby (sebbene sia scritta in Ruby).

1

Penso, questo è un compito molto semplice. Paste in terminal ruby <your script name>.rb

Questo è tutto. Il rubino è interpretato in lang. Il compilatore non esiste affatto. Solo interprete. Io uso Ruby solo poche volte, ma penso che tu debba eseguire il tuo metodo ciao. Il tuo codice crea solo la classe e nient'altro. Dovresti prima imparare Ruby e poi RoR.

Problemi correlati