Jak uruchomić plik .rb z IRB?

88

Zaczynam od Ruby on Rails. Obecnie przechodzę przez samouczek, w którym jest napisane, że muszę uruchomić plik .rb z IRB i że utworzy plik .xml w moim bieżącym katalogu.

Moje pytanie brzmi: jak uruchomić plik .rb w IRB?
I czy muszę znajdować się w katalogu, w którym znajduje się ten plik .rb, kiedy uruchamiam go w IRB?

Próbowałem wykonać następujące czynności: po prostu wpisując irbwiersz poleceń w katalogu pliku. O ile rozumiem, rozpoczyna się sesja IRB.
Następnie wpisałem, irb "filename.rb"który przeszedł, ale nie utworzyłem niczego w bieżącym katalogu, ale przynajmniej nie dał żadnych błędów.

Próbowałem też wielu innych rzeczy, które po prostu dawały mi błędy. Więc nie sądzę, żebym mógł sam rozwiązać ten problem, a szukanie w Google sprawy wcale nie pomogło.

Używam Leoparda.

Katrina
źródło

Odpowiedzi:

175

Możesz "uruchomić" plik w irb, po prostu wymagając lub ładując go.

$ irb
>> load './filename.rb'

Aby zmienić bieżący katalog roboczy w irb, możesz użyć FileUtils :

>> require 'fileutils'
>> FileUtils.pwd # prints working directory
>> FileUtils.cd '/path/to/somewhere' # changes the directory
J L
źródło
3
aby wymagać tego od irb, musisz podać w pełni kwalifikowaną ścieżkę, więc: require '~/myrubystuff/coolstuff.rb' zamiast po prostu require 'coolstuff'
runlevel0
Mogłem wymagać fileutilstylko nazwy, nie potrzebna była ścieżka katalogu. Jestem pewien, że zależy to od środowiska i nie każdy będzie musiał korzystać ze ścieżki kwalifikowanej.
volx757
5

Jeśli chcesz, aby twój plik był załadowany w sesji irb i używasz Ruby 2+, możesz załadować plik do irb w następujący sposób:

irb -r ./the_name_of_your_file.rb

Otwiera to sesję irb z załadowanym podanym plikiem.

Wyobraź sobie, że masz plik z taką klasą:

class Example
  def initialize(name)
    @name = name
  end

  def print__example
    p name
  end
end

Będziesz mógł użyć klasy Example w sesji irb .

Gabriel Lidenor
źródło
właśnie tego szukałem, wielkie dzięki!
thomas
Daje to dostęp tylko do funkcji, a nie do zmiennych zdefiniowanych w pliku.
Radon Rosborough
2

Możemy po prostu utworzyć plik .rb w katalogu, w którym aktualnie pracujesz, używając dowolnego edytora tekstu i wpisać w nim cały kod, a następnie użyć polecenia ruby filename.rbw terminalu, a nie w irb, a następnie wyświetli wynik w irb.

Sreenivas
źródło
4
Ale ładując plik można uzyskać dostęp do zdefiniowanych tam zmiennych. Przydatny podczas rozwiązywania problemów lub grania z biblioteką.
Sonia Hamilton
@Sreenivas To było właśnie to, czego szukałem. Dzięki!
Joshua Pinter