Модуль Scanf.Scanning
module Scanning: sig .. end
type in_channel
Понятие канала ввода для модуля Scanf: эти каналы предоставляют все необходимое оборудование для чтения из любого источника символов, включая значение in_channel. Значение Scanf.Scanning.in_channel также называется форматированным каналом ввода или, эквивалентно, сканирующим буфером. Тип Scanf.Scanning.scanbuf ниже является псевдонимом для 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
val stdib : in_channel
Устаревший псевдоним для Scanf.Scanning.stdin, сканирующего буфера, читающего из stdin.
© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/libref/Scanf.Scanning.html