Почему, когда я запускаю ruby.exe / IRB, все, что я получаю, - это пустая оболочка DOS?

Я установил Ruby 1.9.1p243 (версия 24175 от 16.07.2009) [i386-mingw32] на свой ноутбук с Windows XP.

Когда я запускаю ruby.exe, я получаю пустое окно оболочки DOS. Не ожидалось "irb (main): 001: 0>" в верхнем левом углу командной строки. Я могу вводить текст в оболочку, но любой код, который я набираю, на самом деле делает что-нибудь при нажатии клавиши ввода.

Я должен упомянуть, что я могу запустить IRB из оболочки cmd.exe DOS, и она отлично работает. Кроме того, у меня установлен путь к системным переменным c: \ ruby ​​\ bin, поэтому я знаю, что это нормально.

Есть идеи, что может пойти не так и как это исправить?


person Community    schedule 14.10.2009    source источник


Ответы (2)


ruby.exe! = irb.bat

irb - это командный файл, запускающий ruby.exe в качестве интерактивной оболочки. Фактически он передает в качестве параметра файл с именем «irb» (без расширения). Вы хотите запустить irb.

person Ed S.    schedule 14.10.2009
comment
спасибо за подсказки. я понял. но, если быть точным, вы хотели написать ruby.exe! = irb.bat, я уверен, так как irb.exe нет. - person ; 14.10.2009

Точнее, запуск ruby сам по себе по-прежнему дает вам интерпретатор ruby, но вы упустите эти функции IRB: интерактивное приглашение с редактированием строки, немедленным выполнением и автоматической печатью результата.

Например:

C:\> ruby
puts "hello"
"test string"

Нажмите Ctrl + Z, а затем Enter. Он выводит

hello

Ctrl + Z посылает интерпретатору сигнал "конец файла". В отличие от IRB, по умолчанию он не использует ввод по одной строке за раз, поэтому ждал вывода «hello». «Тестовая строка» вообще не отображалась.

P.S. И наоборот, вы также можете передать имя файла в IRB (просто irb hello.rb), и он запустит его так, как если бы вы его набрали, отображая каждую строку кода и результат по ходу.

person Josh Lee    schedule 14.10.2009
comment
о, я никогда не знал, что вы можете потереть рубин сам по себе в командной строке cmd.exe. не кажется эффективным или забавным. кстати, а как запустить .rb файл в IRB? - person ; 14.10.2009