Программирование на языке Ruby
Программирование на языке Ruby читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
21.3. Оболочка irb
Утилита
irbРаботать с
irb$ irbirb(main):001:0> "cell" + "о"=> "cello"irb(main):002:0> 3*79=> 237irb(main):003:0> Dir.entries(".").size=> 17irb(main):004:0> rand=> 0.850757389880155irb(main):005:0> rand=> 0.679879756672551irb(main):006:0> defined? Foo=> nilirb(main):007:0> defined? Object=> "constant"irb(main):008:0> quit$Конечно, это больше, чем калькулятор. При желании можно ввести произвольный код на Ruby:
[[email protected] ch21]$ irbirb(main):001:0> require 'mathn'=> trueirb(main):002:0> gen = Prime.new=> #При установке флага
-r# File: foo.rbclass MyClass attr_accessor :alpha, :beta def initialize(a, b) @alpha, @beta = a, b endendobj1 = MyClass.new(23,34)obj2 = MyClass.new("abc","xyz")Тогда можно сделать следующее:
$ irb -rfooirb(main):001:0> obj = MyClass.new(88,99)=> #Отметим, что хотя обращаться к сущностям, определенным в файле (например, к константе
MyClassrequireirbНовичков часто смущает информация, выводимая
irb$ irb -rfooirb(main):001:0> puts "hello"hello=> nilПозвольте, что тут делает
nilputsЕще один источник недоразумений — метод
eval$ irbirb (main) : 001:0> eval("var = 567")=> 567irb(main) :002:0> eval("var")=> 567irb(main):003:0> var=> 567Вас ничего не удивляет? Но давайте запустим следующий сценарий и посмотрим, что произойдет:
р eval("var = 567")р eval("var")р var# Results:# 567# 567# temp.rb:3: undefined local variable or method 'var' for main:Object# (NameError)У Ruby есть такая особенность: когда вы выполняете
evalirbevalirbПоведение сценария следует считать более правильным. Не забывайте, что сама программа
irbevalevalirbИмейте в виду, что
irb• файл
~/.irbrc• файл
.irbrc• файл
irb.rс• файл
_irbrc• путь, указанный в переменной окружения
$irbrcИнициализационные файлы пишутся на Ruby. В них можно настраивать текст приглашения и многое другое. Подробно эти файлы обсуждаются в книге «Programming Ruby». Ниже мы сделаем лишь несколько замечаний.
Если ваша версия Ruby собрана с поддержкой библиотеки GNU readline (обычно так и есть), то вы можете перемещаться по истории команд с помощью клавиш со стрелками вверх и вниз. Еще важнее, что работает механизм завершения по клавише Tab: когда вы набираете начало идентификатора, а затем нажимаете Tab,
irb
