Używam IRB (interaktywnej konsoli Ruby), aby nauczyć się programować w Rubim. Jak załadować plik do konsoli, jeśli najpierw napiszę programy w edytorze tekstu?
Używam IRB (interaktywnej konsoli Ruby), aby nauczyć się programować w Rubim. Jak załadować plik do konsoli, jeśli najpierw napiszę programy w edytorze tekstu?
Odpowiedzi:
Jeśli potrzebujesz tylko załadować jeden plik do IRB, możesz go wywołać, irb -r ./your_file.rbjeśli znajduje się w tym samym katalogu.
To automatycznie wymaga pliku i umożliwia natychmiastową pracę z nim.
rake irbi robi to wszystko za mnie.
irb -r /foo/foo.rb
Używając Ruby 1.9.3 na Ubuntu 14.04, mogę ładować pliki z bieżącego katalogu do irbnastępującego wiersza poleceń:
irb -I . -r foo.rb
gdzie foo.rbjest plik, który chcę załadować z mojego bieżącego katalogu. Ta -Iopcja jest konieczna, aby dodać bieżący katalog ( .) do ścieżki ładowania ruby, jak wyjaśniono na stronie podręcznika dla ruby. Dzięki temu możliwe jest requirepobieranie plików z bieżącego katalogu, co realizuje -ropcja irb.
Kluczowym elementem, który nie był dla mnie oczywisty, kiedy miałem ten problem, jest -Iopcja. Gdy to zrobisz, możesz wywołać require 'foo.rb'z wewnątrz irbdowolne pliki w bieżącym katalogu. Oczywiście możesz określić dowolny katalog, nie tylko .za pomocą -Iopcji. Aby uwzględnić wiele katalogów na ścieżce ładowania, oddziel je dwukropkiem (:), np .:
irb -I foo/:bar/:baz/
Ta komenda doda katalogi foo, baroraz bazdo ścieżki obciążenia Rubiego.
Ostatnią alternatywą jest użycie względnej lub bezwzględnej ścieżki do pliku podczas używania requirelub -rwczytywania pliku:
irb -r ./foo.rb
lub od wewnątrz irb:
> require './foo.rb'
Wpisz irb
I wtedy
require './ruby_file.rb'
Zakłada się, że plik ruby_file.rb znajduje się w tym samym katalogu. Odpowiednio wyreguluj.
require_relative. Np. require "./lib/foo"Robi to samo corequire_relative "lib/foo"
.rbjest opcjonalne, możesz napisać require './ruby_file'. I checked in ruby 1.9.3p551`
Dwie drogi:
source("filename.rb")
require("filename.rb")
requirektóry nie wydaje się, aby ponownie załadować skrypt (wszelkie modyfikacje oryginalnego źródła nie są odzwierciedlane w twojej sesji), podczas gdy sourcewydaje się odzwierciedlać zmiany w oryginalnym skrypcie.
To zależy od twojego rubinu. Ruby 1.8 zawiera twoją aktualną ścieżkę, podczas gdy Ruby 1.9 nie. Oceń, $:aby określić, czy Twoja ścieżka jest uwzględniona, czy nie. Więc w ruby 1.9 musisz użyć całej ścieżki, co jest zawsze bezpiecznym zakładem.
Następnie możesz użyć requirelub, loadaby dołączyć plik.
requirenie wymaga dodawania sufiksu pliku podczas próby jego znalezienia i uwzględni plik tylko raz. requirepowinien być używany zamiast tego przez loadwiększość czasu.
Sprawdź Dodawanie katalogu do $ LOAD_PATH (Ruby), jeśli zamierzasz używać Ruby 1.8
Wpisz kody ruby w edytorze tekstu
Zapisz go z rozszerzeniem .rb (na przykład: demo.rb ).
W Linuksie otwórz terminal, a następnie zmień katalog na bieżącą lokalizację tego pliku (polecenie cd służy do zmiany katalogu).
Następnie wpisz irb i nazwę pliku (nie zapomnij dołączyć rozszerzenia (.rb)).
Na tym obrazku załadowałem prosty plik ruby, który wyświetla tylko "ruby".
Innym sposobem załadowania ścieżki do irb jest po prostu wpisanie wymagaj, a następnie przeciągnięcie i upuszczenie pliku do terminala. -Testowane przy użyciu Linux Mint.