Uruchamianie programu (konsola a interpretator)

Dzisiaj otrzymałem książkę Ruby. Przewodnik programisty (wyd. Helion). Po zainstalowaniu irb miałem problem z wywołaniem napisanego programu zapisanego jako nazwa.rb przez irb

Wpisanie komendy $ ruby nazwa.rb skutkowało błędem SyntexError (C:/Ruby22/bin/irb:11:in ’
Pomogło mi jednak rozwiązanie przedstawione w tym wątku Problem z otwieraniem pliku kodu. [Pytania Nooba] mianowicie (W konsoli windows wpisz “ruby C:\mojplikgdzieontamjest.rb” aby uruchomić zapisany skrypt w pliku.) uruchomienie programu przez konsolę systemową.

Czemu autor książki pisze o uruchamianiu programu przez irb (co nie działa), a użytkownik (@hubertlepicki) w powyższym temacie pisze “Uruchom windowsową konsolę, nie odpalaj irb. IRB to interaktywny ruby”

Mimo, że działa przez konsolę chciałbym wiedzieć czemu przez irb nie działa i dlaczego powinno wywoływać się przez konsolę?

Zauważyłem, że zadajesz sporo pytań (tu i na 4programmers) o dość proste rzeczy i nie wydaje mi się żebyś probówał znaleźć odpowiedź samemu, a to podstawa.

Wyguglaj sobie czym jest irb i czym jest cli.

Niestety ogranicza mnie bardzo znajomość angielskiego, mimo, że intensywnie się uczę, a większość jak wskazana przez Ciebie strona jest w języku angielskim.

A te pytanie pojawiło się dlatego, że autor książki pisze inaczej (i mi nie działa), a jeden z użytkowników tego forum opisał to całkowicie inaczej i działa.

To przede wszystkim skup się na nauce angielskiego, gdyż bez jego znajomości nigdzie nie zajdziesz w tej branży :confused:

Serio. Nie piszę tego po to, żeby Ci podciąć skrzydła, ale wszystko czego potrzebujesz do nauki i wszystko z czego będziesz na 100% korzystał jest w języku angielskim.

Doskonale o tym wiem i zdaje sobie z tego sprawę, na razie nie pozostaje mi nic innego jak materiały PL.

IRB tak jak już wiesz jest interaktywnym Ruby, czyli czymś takim gdzie możesz w konsoli pisać kod Ruby i on będzie się uruchamiał, o ile jest poprawny, ale to chyba oczywiste.
Żeby odpalić skrypt Ruby zapisany w jakimś pliku musisz użyć polecenia “ruby file.rb”. To tyle nie wiem jak Ci to bardziej łopatologicznie wytłumaczyć.
IRB jest do pisania kodu Ruby w konsoli, zaś żeby odpalić skrypt w Ruby używać w konsoli “ruby” i tyle, cała filozofia. Znaczy się jeszcze możesz i nawet powinieneś poczytać do czego jeszcze może się to IRB przydać. Chociaż może jeszcze będzie o tym coś w tej książce.

@Bantu właśnie przez wpisanie w IRB polecenia ruby nazwapliku.rb nie działa, wyłącznie przez zwykły windowsowy wiersz poleceń, czy to tak ma być?

Mam na pulpicie plik .rb, który prawidłowo działa po wprowadzeniu C:\users… w konsoli systemowej, natomiast w IRB wywala mi komunikat http://fotowrzut.pl/PFKJ2BPAM4

I to na tyle.

Irb to takie środowisko w którym możesz się bawić. Jak napiszesz sobie program, np w notatniku to po prostu go odpalasz i on się wykonuje. Poza środowiskiem irb. IRB odpalasz sobie np jeśli nie wiesz jak działa jakaś funkcja, możesz wtedy wygodnie sobie to przetestować.

Przemek, książki mają to do siebie, że czy autor tego chce czy nie są pełne błędów (różnych, i składniowych i literówek i merytorycznych). Dlatego potrzebny jest dobry korektor który takie błędy wyłapie przed publikacją. Ale nie wyłapie ich wszystkich, to praktycznie nie możliwe. A książki papierowe mają to do siebie, że po ich wydrukowaniu rzadko kiedy pojawia się errata, bo czytelnicy nie zgłaszają błędów. http://helion.pl/user/erraty/rubprp

Więc na pytanie “Czemu autor książki pisze o uruchamianiu programu przez irb?” Odpowiem innym pytaniem: Dlaczego napisałeś “pisze” a nie “napisał”? :slight_smile:

TL;DR
Ludzie się mylą i nie zawsze inni ludzie odpowiedzialni za poprawki znajdą wszystkie błędy.

Miałem właśnie na myśli, że jeżeli chcesz odpalić plik ze skryptem Ruby to musisz to odpalić z poziomu zwykłego wiersza poleceń, a nie IRB, bo IRB służy do pisania kodu. Tak w skrócie.

Ok, już wszystko wiem. Dzięki

I najlepiej znajdź sobie gdzieś kawałek jakiegoś shella linuksowego, gdzie będziesz mógł działać w ruby i rails. Na windows da się, ale będziesz miał sporo problemów.
Jak możesz to zainstaluj obok windowsa jakiegoś debiana lub ubuntu, jak nie to może chociaż coś w stylu virtualbox