Опция Rebol -q глючит? - PullRequest
       5

Опция Rebol -q глючит?

0 голосов
/ 24 декабря 2010

Я хочу перенаправить вывод реболя в C # с опциями -q, но все равно получаю:

REBOL / Просмотр 2.7.7.3.1 1 января 2010 Copyright 2000-2010 REBOL Технологии. Все права защищены. REBOL является торговой маркой REBOL Технологии. WWW.REBOL.COM

Введите рабочий стол, чтобы запустить Viewtop.

C # Исходный код для использования в контексте:

Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;   
p.StartInfo.WorkingDirectory = @"C:\rebol";
p.StartInfo.FileName = @"C:\rebol\rebol.exe";
p.StartInfo.Arguments = "-qw --do \"firstname: {world} print build-markup {hello <%firstname%>} \"";    
p.StartInfo.CreateNoWindow = false;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
MessageBox.Show(output);

Если я запускаю rebol напрямую из Windows, у меня появляется та же ошибка:

C: \ rebol \ rebol.exe -q --do "имя: {world} печать сборки разметки {привет <% FirstName%>} "

выведет в консоль ребол:

hello world
REBOL/View 2.7.7.3.1 1-Jan-2010
Copyright 2000-2010 REBOL Technologies.  All rights reserved.
REBOL is a trademark of REBOL Technologies. WWW.REBOL.COM


Type desktop to start the Viewtop.
>>

1 Ответ

1 голос
/ 24 декабря 2010

Если вы используете --do для запуска кода скрипта, вам нужно будет добавить quit (или q) в конец этого скрипта, чтобы REBOL / View завершился.Также, чтобы предотвратить запуск Viewtop, добавьте параметр -v.Таким образом, следующее должно помочь:

rebol.exe -qvw --do "print {hello} quit"

Причина в странном взаимодействии между --do и другими вариантами интерпретатора.Я думаю, это вполне можно считать ошибкой, но в любом случае так было в течение достаточно долгого времени.

...