Programming in D / Перевод: Reading from the Standard Input / Чтение со стандартного ввода
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Ddoc dlang 24.02.18 в 18:31 |
|
|
$(P dlang 24.02.18 в 18:31 |
||
|
К примеру, программа считывающая количество учеников в классе, должна сохранить эту информацию в какую-нибудь переменную. dlang 24.02.18 в 18:32 |
||
|
Типом этой переменной мог бы быть $(C int). dlang 24.02.18 в 18:33 |
||
|
$(P dlang 24.02.18 в 18:33 |
||
|
К тому-же, то что должно быть распечатано передается аргументом. dlang 24.02.18 в 18:33 |
||
|
И так, чтобы распечатать значение, хранящееся в $(C studentCount), достаточно написать $(C write(studentCount)). dlang 24.02.18 в 18:34 |
||
|
Подведем итог: dlang 24.02.18 в 18:34 |
||
|
$(MONO dlang 24.02.18 в 18:34 |
||
|
$(P dlang 24.02.18 в 18:34 |
||
|
Буква "f" в конце названия, от английского слова "formatted" означающего - в каком-либо заранее определенном виде; то что считывает эта функция, всегда должно соответствовать какому-либо шаблону. dlang 24.02.18 в 18:35 |
||
|
$(P dlang 24.02.18 в 18:35 |
||
|
$(P dlang 24.02.18 в 18:39 |
||
|
Подведем итог: dlang 24.02.18 в 18:41 |
||
|
$(MONO dlang 24.02.18 в 18:41 |
||
|
$(P dlang 24.02.18 в 18:41 |
||
|
Адрес переменной - это то место в памяти, в котором хранится значение переменной. dlang 24.02.18 в 18:42 |
||
|
$(P dlang 24.02.18 в 18:42 |
||
|
К примеру, $(C &studentCount) это адрес переменной $(C studentCount). dlang 24.02.18 в 18:42 |
||
|
Так $(C &studentCount) можно прочесть как "адрес $(C studentCount)" - это и есть искомая часть головоломки: dlang 24.02.18 в 18:42 |
||
|
$(MONO dlang 24.02.18 в 18:42 |
||
|
$(P dlang 24.02.18 в 18:43 |
||
|
Это основа того что называется ссылки и указатели. Мы поговорим об этом в других главах. dlang 24.02.18 в 18:43 |
||
|
$(P dlang 24.02.18 в 18:43 |
||
|
--- dlang 24.02.18 в 18:44 |
||
|
$(P dlang 24.02.18 в 18:44 |
||
|
--- dlang 24.02.18 в 18:44 |
||
|
$(P dlang 24.02.18 в 18:44 |
||
|
$(P dlang 24.02.18 в 18:45 |
||
|
Так, при считывании знаков '4' и '2' в переменную типа $(C int), они преобразуются в число 42. dlang 24.02.18 в 18:45 |
||
|
$(P dlang 24.02.18 в 18:45 |
||
|
Когда укажите количество учеников, нажмите ENTER: dlang 24.02.18 в 18:45 |
||
|
--- dlang 24.02.18 в 18:48 |
||
|
$(H5 $(IX %s и пробельные знаками) $(IX пробельные знаки) Пропуск пробельных знаков) dlang 24.02.18 в 18:49 |
||
|
$(P dlang 24.02.18 в 18:49 |
||
|
Ведь иногда полезно знать каков был ввод - однострочный или многострочный. dlang 24.02.18 в 18:49 |
||
|
$(P dlang 24.02.18 в 18:50 |
||
|
Иначе они $(I заблокируют) ввод, и не дадут прочесть оставшиеся данные. dlang 24.02.18 в 18:50 |
||
|
$(P dlang 24.02.18 в 18:50 |
||
|
--- dlang 24.02.18 в 18:52 |
||
|
$(P dlang 24.02.18 в 18:52 |
||
|
$(SHELL dlang 24.02.18 в 18:53 |
||
|
$(P dlang 24.02.18 в 18:53 |
||
|
И теперь поток ввода походит вот на что: dlang 24.02.18 в 18:55 |
||
|
$(MONO dlang 24.02.18 в 18:55 |
||
|
$(P dlang 24.02.18 в 18:56 |
||
|
$(P dlang 24.02.18 в 18:56 |
||
|
Пробелы в строке формата, указывают на то что нужно отсеять один и более невидимых знаков, что попадают в поток ввода. dlang 24.02.18 в 18:56 |
||
|
К таким знакам относятся сам пробел, коды клавиши ENTER, знак табуляции, и т.п., а называются они $(I пробельные знаки) $(I (whitespace characters)). dlang 24.02.18 в 18:56 |
||
|
$(P dlang 24.02.18 в 18:57 |
