Як запустити файл .rb з IRB?


88

Я починаю з Ruby on Rails. Зараз я переглядаю навчальний посібник, де сказано, що мені потрібно запустити файл .rb з IRB, і це створить файл .xml у моєму поточному каталозі.

Моє питання полягає в тому, як запустити файл .rb в IRB?
І чи повинен я бути в каталозі, де живе цей файл .rb, коли я запускаю його в IRB?

Я спробував наступне: просто набравши irbкомандний рядок у каталозі файлу. Це починає сесію IRB, наскільки я розумію.
Потім я набрав текст, irb "filename.rb"який пройшов, але нічого не створив у поточному каталозі, але принаймні це не дало жодних помилок.

Я також спробував цілу купу інших речей, які, звичайно, давали мені помилки. Тому я не думаю, що зможу це вирішити сам, і гуглиння справи зовсім не допомогло.

Я керую "Барсом".

Відповіді:


175

Ви можете "запустити" файл у irb, просто вимагаючи або завантажуючи його.

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

Щоб змінити поточний робочий каталог у irb, ви можете скористатися FileUtils :

>> require 'fileutils'
>> FileUtils.pwd # prints working directory
>> FileUtils.cd '/path/to/somewhere' # changes the directory

3
щоб вимагати його від irb, потрібно надати повністю кваліфікований шлях, таким чином: require '~/myrubystuff/coolstuff.rb' замість просто require 'coolstuff'
runlevel0

Я міг вимагати лише fileutilsвід імені, шлях до каталогу не потрібен. Я впевнений, що це залежить від навколишнього середовища, і не всім потрібно буде використовувати кваліфікований шлях.
volx757

5

Якщо ви хочете, щоб ваш файл завантажився в сеансі irb і ви використовуєте Ruby 2+, ви можете завантажити файл в irb таким чином:

irb -r ./the_name_of_your_file.rb

Це відкриває сеанс irb із завантаженим даним файлом.

Уявіть, у вас є файл із таким класом:

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

  def print__example
    p name
  end
end

Ви зможете використовувати клас Example у сеансі irb .


це те, що я насправді шукав, велике спасибі!
Томас

Це дає доступ лише до функцій, а не до змінних, визначених у файлі.
Радон Росборо,

2

Ми можемо просто створити файл .rb у каталозі, в якому ви зараз працюєте, використовуючи будь-який текстовий редактор, і ввести весь код у ньому, а потім скористатися командою ruby filename.rbв терміналі, а не в irb, тоді він відображатиме вихід у irb.


4
Але, завантаживши файл, ви можете отримати доступ до визначених там змінних. Зручний при усуненні несправностей або під час гри з бібліотекою.
Соня Гамільтон

@Sreenivas Це було саме те, що я шукав. Дякую!
Джошуа Пінтер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.