Проблемы с запуском программы Ruby в Aptana Studio - PullRequest
1 голос
/ 22 июля 2011

Запрос ниже на основе более ранней версии, размещенной на сайте Aptana Tender , где он не получил ответа - предположительно, потому что сайт Aptana Tender теперь устарелв пользу StackOverflow .

Я использую Eclipse 3.6.2.r362_v20110210 с плагином Aptana Studio версии 3.0.3.201107141410 (т. е. все полностью обновлено, я считаю) наMac OS X 10.6.8 Snow Leopard на Macbook.

Я создал проект Ruby, а затем создал внутри него один файл с именем "item.rb", в который я написал некоторый код Ruby.

Файл очень короткий: он определяет класс «Item» с методом инициализации, который запрашивает у пользователя значение (используя «put», за которым следует «gets.chomp»), и метод get, который возвращает значениеи он также содержит еще две строки: одну для создания нового элемента и одну для вызова этого метода для вновь созданного элемента.

Когда я запускаю «ruby item.rb» из терминала, он работаеткак и ожидалось: он спрашивает васser для значения и возвращает это значение.Нет ошибок / предупреждений.

Теперь я не хочу использовать Терминал каждый раз, когда я хочу запустить файл, но у меня возникают проблемы с его запуском любым другим способом.

Вот шаги для воспроизведения:

  • В главном меню Eclipse перейдите в Window> Open Perspective> Other.
  • В появившемся диалоговом окне нажмите «Ruby» инажмите «ОК».
  • В представлении Script Explorer щелкните треугольник рядом с именем проекта, содержащего файл, который я хочу запустить, чтобы отобразить содержимое проекта.
  • Inв представлении Script Explorer дважды щелкните имя файла, который я хочу запустить (item.rb).
  • Это приведет к открытию item.rb в представлении редактора и даст этому представлению фокус (т.е.представление редактора, содержащее item.rb, имеет синюю, а не серую рамку, и внутри представления имеется активный курсор).
  • Нажмите кнопку «Выполнить» на панели инструментов Eclipse (ту, которая выглядит как зеленая)"Play").
  • ПЕРВАЯ ПРОБЛЕМА: а "Появится диалоговое окно «Выполнить как ...» (я не знаю почему) с просьбой «Выбрать способ запуска item.rb».Это дает мне два варианта (опять же, я не знаю почему): «Приложение Android», «Приложение Ruby».
    • Ожидаемое поведение: поскольку item.rb - это файл, оканчивающийся на «.rb» и содержащий только допустимый код Ruby, Eclipse / Aptana должен, по умолчанию, запускать его как приложение Ruby.
  • Я нажимаю «Ruby Application», а затем нажимаю «OK».
  • ВТОРАЯ ПРОБЛЕМА: диалоговое окно исчезает, но больше ничего не происходит.
    • Ожидаемое поведение: представление консоли должно получить фокус, и должен быть выполнен item.rb, а результаты показаны в текстовой области представления консоли.
  • К этому моменту было бы разумно сдаться.Но программисты неоправданно настойчивы, верно?Итак: перейдите на вкладку «Консоль».
  • В заголовке представления «Консоль» указано «item.rb [Ruby Application] / usr / bin / ruby», а ниже находится пустая текстовая область, содержащая только мигающий курсор.
  • Нажмитенажмите клавишу на клавиатуре Macbook один или два раза.
  • ТРЕТЬЯ ПРОБЛЕМА: текстовое представление консоли автоматически обновляется с выводом item.rb, но, как ни странно, оно не останавливается на gets.chomp, оно просто действует какхотя пользователь ввел пустой ответ на этом этапе (то есть, как будто пользователь просто нажална клавиатуре) и включается до тех пор, пока не будет выполнена вся программа.Затем заголовок представления консоли изменится на « item.rb [Ruby Application] / usr / bin / ruby».
    • Ожидаемое поведение: item.rb должен выполняться в представлении консоли точно так же, как и в терминале.

помогите мне устранить эти три проблемы?

Большое спасибо.

1 Ответ

2 голосов
/ 22 июля 2011

Похоже, у вас установлена ​​более старая версия Aptana, RDT, RadRails или DLTK Ruby, поскольку в Aptana Studio 3.x нет перспективы "Ruby".

Вы должны иметь возможность щелкнуть правой кнопкой мышифайл в Project Explorer, App Explorer или в открытом редакторе для файла и выберите Run As> Ruby Application.

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

Поведение Enter / Return, о котором вы говорите, звучит так, как будто программа не сбрасывает STDERR / STDOUT, а нажатие клавиши Enter продолжает ввод на входе (то есть буферизациявывод, который вы должны увидеть, формирует подсказку, затем вы нажимаете Enter / Return, и он принимает это в качестве ввода, поэтому он продолжается после вызова get).если вещи, напечатанные в STDOUT, не отображаются, вы можете попробовать принудительно выполнить автоматическую очистку, добавив $stdout.sync = true в начало вашего скрипта.Studio 3.x должна настроить это для вас на программах, запускаемых через него.Если нет, то вы должны сообщить об ошибке: http://jira.appcelerator.org/secure/CreateIssue!default.jspa

...