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.
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
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.
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
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ł”?
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.
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