Я використовую 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.