2012-10-16 6 views
6

Possible Duplicate:
How to run ruby files?Jak uruchamiać programy Ruby w Terminalu OS MAC

zaczynam uczyć się Ruby i problemy ze systemem klasy Ruby w terminalu.

Stworzyłem klasę w edytorze Sublime Text, po prostu "cześć świat". Mogę skompilować przy użyciu ruby hello.rb, , ale jak mogę go wykonać?

Poszedłem do terminalu w moim katalogu głównym i wpisałem rails c, który dał mi konsolę. Czy ktoś mógłby mi powiedzieć, jak utworzyć instancję? Z jakiej konsoli korzystam?

+0

Wpisz "man irb". –

+0

Google jest twoim przyjacielem. Pierwszym wynikiem dla "konsoli szyn" jest http://guides.rubyonrails.org/command_line.html. – Thilo

Odpowiedz

9

Ruby są interpretowane, więc nie musisz się martwić o osobny krok kompilacji. ruby hello.rbto polecenie wykonania.

Standardowa powłoka interaktywna (REPL) to irb.

+0

Tak po wpisaniu ruby ​​hello.rb nie dało mi to nic złego. Po tym czasie próbowałem uzyskać poniżej błędu w irb 1.9.3-p194: 003> h = Hello.new() NameError: niezdefiniowana zmienna lokalna lub metoda ' witaj "dla głównego: Obiekt – Ducati007

+0

Trudno powiedzieć bez zobaczenia kodu. – pje

+0

klasa Cześć def powiedzieć stawia "cześć Świat" koniec koniec – Ducati007

0

Jak inni podkreślili, uruchomienie ruby hello.rbwykonuje uruchomić skrypt; nie ma w tym żadnej kompilacji (poza kulisami wirtualnej maszyny Ruby, ale nie musisz się tym martwić).

podstawie kodu pliku, który dałeś w komentarzu (Włożyłam w przerwach linii i wcięcia):

class Hello 
    def say 
    puts "hello World" 
    end 
end 

... powód skrypt wydaje się nie robić nic jest to, że definiuje tylko klasę i metodę, ale nie tworzy instancji klasy ani nie wywołuje metody. Masz dobry pomysł (w innym komentarzu), aby zadzwonić pod numer h = Hello.new(); po tym możesz umieścić h.say i powie "cześć świat".

(Nawiasy nie są zazwyczaj wymagane, w tym w tych dwóch wywołań metod;.., Ale czasami są one ważne Istnieją różne konwencje, ale większość Rubiego pominąć je podczas wywoływania metody bez żadnych argumentów, jak new i say tutaj)

EDYCJA: rails c jest dla Ruby on Rails, która jest oddzielną jednostką od języka Ruby (chociaż jest napisana w Ruby).

1

Myślę, że to bardzo proste zadanie. Wklej na terminalu ruby <your script name>.rb

To wszystko. Rubin jest interpretowany jako język. Kompilator w ogóle nie istnieje. Tylko tłumacz. Używam Ruby tylko kilka razy, ale myślę, że musisz uruchomić swoją metodę Hello. Twój kod tworzy tylko klasę i nic więcej. Najpierw powinieneś nauczyć się Ruby, a następnie RoR.