Справка
Телеграм чат начинающих программистов. Общаемся и помогаем друг другу
Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush
или
пойти другим путем
IRB — interactive ruby shell или по-простому «интерактивная руби консоль». Очень полезный инструмент любого рубиста. Смысл его в том, что вы можете писать любой руби код и видеть результаты его выполнения сразу же, в том же окне.
IRB экономит время, когда нужно написать очень короткую и простую программу, когда нужно понять как будет работать тот или иной код, или быстро вычислить какое-то выражение (как на калькуляторе).
Для запуска интерактивной руби консоли достаточно в вашей командной строке набрать irb
. Результат будет выглядеть примерно так:
MikeMac:~ aristofun$ irb
2.2.1 :001 >
Вы попали в интерактивный режим. Вместо 2.2.1
может быть написана другая версия руби или что-то вроде irb(main)
.
Это не важно, важно, что после символа >
консоль приглашает вас к вводу кода.
Если вы введете какой-то код, и нажмете Enter, то...
2.2.1 :001 > puts "Hello world"
Hello world
=> nil
2.2.1 :002 >
Сначала выполнится эта строчка (на приведенном примере она вывела на экран строку "Hello world"
), а затем обязательно появится строка, начинающаяся с символов =>
.
Эта строка — результат, который вернуло введенное вами выражение.
Выражением может быть любое корректное выражение на языке Ruby. Если выражение некорректное, вы просто получите в консоли ошибку. Так же, как вы бы получили ее при обычном запуске программы.
Например, очень удобно использовать Ruby консоль в качестве продвинутого калькулятора (скажем, считать задолженность по оплате электроэнергии):
2.2.1 :002 > 3.91*(2342-2291) + 3.23*(1745-1622)
=> 596.7
2.2.1 :003 >
Как видите в этом случае после вашей строки, выводится только строка с результатом выполнения выражения. И затем IRB снова ждет ваших распоряжений.
Если вам нужно выполнить в консоли код, который не умещается в одну строку, можете заключить его внутрь блока begin
— end
.
После ввода begin
, консоль будет запрашивать все новые и новые строки, пока не встретит конец этого блока end
. И тогда только разом выполнит весь этот блок кода.
2.2.1 :003 > begin
2.2.1 :004 > sleep 3
2.2.1 :005?> puts ['orel', 'reshka'].sample # вывести орел или решку
2.2.1 :006?> end
orel
=> nil
2.2.1 :007 >
Надпись orel
и => nil
появятся на экране только через 3 секунды после ввода 6-й строки. Кстати, комментарии тоже можно писать (любой руби код), но зачем? ;)
Для выхода из консоли достаточно набрать волшебное слово exit
и вернуться к нормальной жизни, найти работу, завести семью...
В консоль при желании можно скармливать огромные программы. Но делать так не стоит. Консоль — это фастфуд, когда нужно срочно выполнить немножко какого-то руби кода.
Когда она актуальна:
Чао!