2013-02-22 3 views
2

В настоящее время я изучаю Rebol.Базовый ввод из командной строки в Rebol

В других языках я знаю, я могу читать ввод из командной строки, например, в Java:

Scanner sc = new Scanner(System.in) 
sc.nextLine(); 

В C#

Console.ReadLine(); 

В C

scanf("%s", s); 

I было интересно, как можно было бы сделать то же самое в Реболе.

ответ

5

Вы можете использовать команду input для запроса ввода на консоль.

>> name: input 
Joe 
== "Joe" 
5

ask функция дополняет input выводя строку перед запрашивающего ввода:

age: ask "How old are you? " 

Она также имеет /hide уточнение, чтобы скрыть вход:

pass: ask/hide "Enter your password: " 

В это время,/hide is not implemented in Rebol 3 alphas

Более длинный ответ (и, по крайней мере, для промежуточного уровня) должен включать в себя мониторинг порта system/ports/input (вы можете сделать source input, как это делается для вас) - это может использоваться в случаях, когда ввод не возникает на консоль (например, оболочка, CGI).

+0

вход источника также позволит вам разобраться, как управлять одиночными нажатиями клавиш (полезно для текстовых меню, которые не заставляют вас нажимать клавишу ввода ... люди все еще знают, что такое текстовое меню? ;-) , – moliad