Ruby Console multiline - PullRequest
       1

Ruby Console multiline

3 голосов
/ 07 февраля 2012

Это в основном очень нубский вопрос о консоли Ruby (IRB), но я нигде не мог найти ответ. Так. Когда вы пишете оператор в консоли Ruby, а затем в середине его нажимаете Enter, иногда консоль ожидает, что я продолжу оператор и начнем выглядеть так:

ruby-1.9.2-p180: 093 ">

Это "в основном говорит (я думаю), что Ruby ожидает, что я закончу оператор в предыдущей строке. Однако я не могу завершить его или отменить оператор. Повторное нажатие Enter не очень помогает, а также Ruby перестает вычислять другие операторы, если я ввожу некоторые из них в этот момент.

Итак, что это за режим и как с ним справиться?

Ответы [ 3 ]

3 голосов
/ 07 февраля 2012

Это означает, что ваши цитаты несбалансированы; введите цитату.

irb(main):004:0> s="this is
irb(main):005:0" a test"
=> "this is\na test"

Вы также можете нажать Ctrl-C <Return>, что приведет вас к приглашению root. Ctrl-D вернет вас обратно к приглашению, но следующее <Return> выдаст ошибку из-за неоконченной кавычки.

В качестве альтернативы, используйте pry , что позволит вам использовать !, чтобы вернуться на свой верхний уровень.

0 голосов
/ 07 февраля 2012

Кавычка " указывает, что вы находитесь в середине строки.Вы можете закрыть строку или, если вы нажмете Ctrl-C, это приведет к уничтожению текущего оператора.

0 голосов
/ 07 февраля 2012

Вы все еще можете закончить предыдущее утверждение. Ruby сообщает вам, что вы открыли строку в двойных кавычках на предыдущей строке и не закрывали ее. Просто введите "; результатом может быть синтаксическая ошибка, но, по крайней мере, ваша консоль снова станет пригодной для использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...