# Консоль

Здесь описаны функции для работы с консолью.

* [ClearCarriage( str input ) str](#clearcarriage-str-input-str)
* [Print( anytype par... ) int](#print-anytype-par-int)
* [Println( anytype par... ) int](#println-anytype-par-int)
* [ReadString( str text ) str](#readstring-str-text-str)

## Операторы

| Оператор     | Результат | Описание                                                                                                                                                                |
| ------------ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **\|\|** str | int       | Этот унарный оператор выводит строку в стандартный вывод, но перед этим он удаляет крайние пробельные символы в каждой строке. Возвращает количество записанных байтов. |

```
run {
   ||`One
      Two
      Three
      `
}
/* It prints
One
Two
Three
*/
```

## Функции

### ClearCarriage(str input) str

Функция *ClearCarriage* очищает строку от всех сиволов возврата каретки **\r** назад до предыдущего символа перевода строки **\n**. Рекомендуется использовать *ClearCarriage*, если вы получаете вывод консоли при вызове функции **Run**. Функция вызывается автоматически при вызове *str s = $ command line*.

```go
buf dirout
Run("myapp", stdout: dirout)
// dirout == Start\nPercent: 0%\rPercent: 50%\rPercent: 100%\nFinish
ret = ClearCarriage(str(dirout))
// ret == Start\nPercent: 100%\nFinish
```

### Print(anytype par...) int

Функция *Print* форматирует по умолчанию все переданные операнды любых типов и выводит их в стандартный вывод. Пробелы являются разделителями при выводе параметров, если ни один из соседних параметров не является строкой. Функция *Print* возвращает количество записанных байтов.

### Println(anytype par...) int

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

### ReadString(str text) str

Функция *ReadString* читает данные из стандартного ввода до получения символа '\n' (нажатие Enter). Она возвращает строку содержащую введенные данные. Если параметр *text* не пустой, то функция выведет этот текст перед чтением данных.
