Я використовую IRB (інтерактивна рубінова консоль), щоб навчитися програмувати на Ruby. Як завантажити файл у консоль, якщо я спочатку пишу свої програми в текстовому редакторі?
Я використовую IRB (інтерактивна рубінова консоль), щоб навчитися програмувати на Ruby. Як завантажити файл у консоль, якщо я спочатку пишу свої програми в текстовому редакторі?
Відповіді:
Якщо вам потрібно завантажити лише один файл в IRB, ви можете викликати його, irb -r ./your_file.rb
якщо він знаходиться в тому ж каталозі.
Це автоматично вимагає файлу і дозволяє негайно працювати з ним.
rake irb
і це все робить за мене.
irb -r /foo/foo.rb
Використовуючи ruby 1.9.3 на Ubuntu 14.04, я можу завантажувати файли з поточного каталогу в irb
такий командний рядок:
irb -I . -r foo.rb
де foo.rb
файл, який я хочу завантажити з мого поточного каталогу. -I
Опція необхідна , щоб додати поточну директорію ( .
) на шляху завантаження рубіна, як пояснено на сторінці рубін людина. Це робить можливим require
файли з поточного каталогу, що є -r
варіантом, який потрібно irb
виконати.
Ключовим елементом, який для мене не був очевидним, коли у мене була ця проблема, є -I
варіант. Після цього ви можете зателефонувати require 'foo.rb'
зсередини irb
для отримання будь-яких файлів у поточному каталозі. І, звичайно, ви можете вказати будь-який каталог, який ви хочете, не тільки .
з -I
опцією. Щоб включити кілька каталогів на шляху завантаження, розділіть їх двокрапкою (:), наприклад:
irb -I foo/:bar/:baz/
Ця команда додасть каталоги foo
, bar
і baz
на шляху завантаження рубіна.
Останній варіант - використовувати відносний або абсолютний шлях до файлу під час використання require
або -r
для завантаження файлу:
irb -r ./foo.rb
або зсередини irb
:
> require './foo.rb'
Введіть irb
І потім
require './ruby_file.rb'
Це передбачає, що ruby_file.rb знаходиться в тому ж каталозі. Налаштуйте відповідно.
require_relative
. Наприклад, require "./lib/foo"
робить те саме, щоrequire_relative "lib/foo"
.rb
необов’язково, ви можете писати require './ruby_file'. I checked in
ruby 1.9.3p551`
Два шляхи:
source("filename.rb")
require("filename.rb")
require
який, здається, не перезавантажує сценарій (будь-які зміни оригіналу не відображаються у вашому сеансі), тоді як, source
схоже, відображає зміни оригінального сценарію.
Це залежить від вашого рубіну. Ruby 1.8 включає ваш поточний шлях, тоді як ruby 1.9 - ні. Оцініть, $:
щоб визначити, включений ваш шлях чи ні. Отже, в ruby 1.9 ви повинні використовувати весь шлях, що завжди є надійною ставкою.
Тоді ви можете використовувати require
або, load
щоб включити файл.
require
не вимагає додавання суфікса файлу при спробі його знайти, а файл буде включено лише один раз. require
слід використовувати замість load
більшості часу.
Перевірте Додавання каталогу до $ LOAD_PATH (Ruby), якщо ви збираєтеся використовувати ruby 1.8
Введіть коди рубіну в текстовому редакторі
Збережіть його з розширенням .rb (наприклад: demo.rb ).
У Linux відкрийте термінал, а потім змініть каталог на поточне розташування цього файлу (команда cd використовується для зміни каталогу).
Після цього введіть irb та своє ім'я файлу (не забудьте включити своє розширення (.rb)).
На цьому зображенні я завантажив простий рубіновий файл, який друкує лише "рубін".
Інший спосіб завантажити шлях до irb - це просто type require, а потім перетягніть файл у термінал. - тестується за допомогою Linux Mint.