Модуль Scanf.Scanning
module Scanning: sig .. end
type in_channel
Понятие канала ввода для модуля Scanf: эти каналы предоставляют все необходимые инструменты для чтения из любого источника символов, включая значение in_channel. Значение Scanf.Scanning.in_channel также называется форматированным каналом ввода или, что эквивалентно, сканирующим буфером. Тип Scanf.Scanning.scanbuf ниже является псевдонимом для Scanning.in_channel. Обратите внимание, что Scanning.in_channel не является потокобезопасным: одновременное использование может привести к произвольным значениям или исключениям.
- Since 3.12.0
type scanbuf = in_channel
Тип сканирующих буферов. Сканирующий буфер является источником, из которого функция форматированного ввода получает символы. Сканирующий буфер содержит текущее состояние сканирования, плюс функцию получения следующего символа из ввода и буфер токенов для хранения строки, совпавшей до сих пор.
Примечание: действие сканирования часто может потребовать предварительного просмотра одного символа; когда этот символ «предварительного просмотра» не принадлежит прочитанному токену, он возвращается в сканирующий буфер и становится следующим символом, который еще предстоит прочитать.
val stdin : in_channel
Стандартное понятие ввода для модуля Scanf. Scanning.stdin — это форматированный канал ввода Scanf.Scanning.in_channel, присоединенный к stdin.
Примечание: в интерактивной системе, когда ввод читается из stdin, символ новой строки, который запускает оценку, является частью ввода; поэтому спецификации сканирования должны корректно пропустить этот дополнительный символ новой строки (например, просто добавьте '\n' в качестве последнего символа строки формата).
- Since 3.12.0
type file_name = string
Удобный псевдоним для обозначения имени файла.
- Since 4.00.0
val open_in : file_name -> in_channel
Scanning.open_in fname возвращает форматированный канал ввода Scanf.Scanning.in_channel для буферизованного чтения в текстовом режиме из файла fname.
Примечание: open_in возвращает форматированный канал ввода, который эффективно читает символы большими блоками; в отличие от from_channel ниже, который возвращает форматированные каналы ввода, которые должны читать по одному символу за раз, что приводит к гораздо более медленной скорости сканирования.
- Since 3.12.0
val open_in_bin : file_name -> in_channel
Scanning.open_in_bin fname возвращает форматированный канал ввода Scanf.Scanning.in_channel для буферизованного чтения в двоичном режиме из файла fname.
- Since 3.12.0
val close_in : in_channel -> unit
Закрывает in_channel, связанный с заданным форматированным каналом ввода Scanf.Scanning.in_channel.
- Since 3.12.0
val from_file : file_name -> in_channel
Псевдоним для Scanf.Scanning.open_in выше.
val from_file_bin : string -> in_channel
Псевдоним для Scanf.Scanning.open_in_bin выше.
val from_string : string -> in_channel
Scanning.from_string s возвращает форматированный канал ввода Scanf.Scanning.in_channel, который читает из заданной строки. Чтение начинается с первого символа в строке. Условие конца ввода устанавливается при достижении конца строки.
val from_function : (unit -> char) -> in_channel
Scanning.from_function f возвращает форматированный канал ввода Scanf.Scanning.in_channel с заданной функцией как его методом чтения.
Когда сканированию нужен еще один символ, вызывается заданная функция.
Когда функция больше не может предоставить символ, она обязана сигнализировать об окончании ввода, подняв исключение End_of_file.
val from_channel : in_channel -> in_channel
Scanning.from_channel ic возвращает форматированный канал ввода Scanf.Scanning.in_channel, который читает из обычного канала ввода in_channel ic аргумент. Чтение начинается с текущей позиции чтения ic.
val end_of_input : in_channel -> bool
Scanning.end_of_input ic проверяет условие конца ввода для заданного форматированного канала ввода Scanf.Scanning.in_channel.
val beginning_of_input : in_channel -> bool
Scanning.beginning_of_input ic проверяет условие начала ввода для заданного форматированного канала ввода Scanf.Scanning.in_channel.
val name_of_input : in_channel -> string
Scanning.name_of_input ic возвращает имя источника символов для заданного форматированного канала ввода Scanf.Scanning.in_channel.
- Since 3.09.0
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/libref/Scanf.Scanning.html