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.

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

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 .


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.