Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ruby / Ruby-новые грани.doc
Скачиваний:
118
Добавлен:
06.06.2015
Размер:
821.25 Кб
Скачать

3.2 Что запускать?

Ruby приложения выполняются с помощью интерпретатора, запускаемого командой “ruby”:

  > ruby [<опции-ruby>] [имя-файла] [опции-программы]

Например:

  > ruby hello_world.rb

Интерпретатор ruby поддерживает набор опций, которые можно задать в командной строке. Их полный список можно получить, запустив ruby с ключом --help. На первом этапе наиболее важными из них могут оказаться следующие:

  • -e ’команда’, предписывает ruby выполнить указанную в параметре команду и завершить работу. Может использоваться для простых экспериментов, например, для проверки работы каких-либо методов. Самое простое применение — запуск ruby в качестве калькулятора:

  > ruby -e’a=3; b=4; puts Math.sqrt(a*b)’

  3.46410161513775

  • -I<путь>, предписывает ruby искать подключаемые в программу модули в указанном каталоге. Пожалуй, самая нужна опция во время работы с ruby.

  • -r<библиотека>, предписывает ruby загрузить указанную библиотеку до того, как будет загружена пользовательская программа. Очень важная, хотя и не часто использующаяся опция. С ее помощью, например, запускается штатный отладчик ruby:

  > ruby -r debug hello_world.rb

и профайлер:

  > ruby -r profile hello_world.rb

  • -w, который включает режим выдачи предупреждений во время выполнения кода. С его помощью можно отлавливать потенциально опасные выражения и конструкции в Ruby-программах.

Если ruby запускается без имени файла, то ожидается, что код программы поступит из стандартного ввода. Это позволяет, например, запускать Ruby-программы, перенаправляя стандартный ввод:

  > ruby < hello_world.rb

или с использованием какого-нибудь генератора программ (синтаксис, привычный для *nix):

  > some_program_generator | ruby

или же вводить код непосредственно в интерпретаторе:

> ruby

include Math

a=3.0

b=4.0

c=sqrt(a*b)*sin(PI)

puts c

^Z

4.24216084818405e-016

Последний вариант, когда код вводится непосредственно в интерпретаторе, не очень удобен, т.к. в случае ошибки приходится набирать код заново. Однако в состав Ruby входит специальный инструмент, irb — Interactive Ruby, который делает интерактивное использование Ruby гораздо удобнее. Для работы с ним достаточно запустить команду irb, а затем вводить Ruby-инструкции. Irb будет выполнять их по мере ввода и показывать промежуточные результаты работы:

  > irb

  irb(main):001:0> include Math

  => Object

  irb(main):002:0> a=3.0

  => 3.0

  irb(main):003:0> b=4.0

  => 4.0

  irb(main):004:0> c=sqrt(a*b)*sin(PI)

  => 4.24216084818405e-016

  irb(main):005:0>

В реальной работе irb является незаменимым инструментом, возможно, даже более важным, чем отладчик. Irb позволяет очень легко экспериментировать с конструкциями языка, не прибегая к стандартной процедуре набора текста в редакторе и запуска программы в интерпретаторе. Зачастую часть кода сначала создается в сессиях irb, а уже затем переносится в программу. Например, очень полезен irb при работе с регулярными выражениями или сложными операциями над контейнерами.

Соседние файлы в папке Ruby