Модуль 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
type scanbuf = in_channel
Тип сканирующих буферов. Сканирующий буфер является источником, из которого функция форматированного ввода получает символы. Сканирующий буфер хранит текущее состояние сканирования, а также функцию получения следующего символа из ввода и буфер токенов для хранения строки, совпавшей до сих пор.
Примечание: действие сканирования часто требует предварительного просмотра одного символа; когда этот символ «предварительного просмотра» не принадлежит считанному токену, он сохраняется обратно в сканирующий буфер и становится следующим символом, который ещё нужно прочитать.
val stdin : in_channel
Стандартное понятие ввода для модуля Scanf. Scanning.stdin — это форматированный канал ввода Scanf.Scanning.in_channel, подключенный к stdin.
Примечание: в интерактивной системе, когда входные данные считываются из stdin, символ новой строки, который запускает вычисление, является частью входных данных; таким образом, спецификации сканирования должны правильно пропустить этот дополнительный символ новой строки (например, просто добавьте '\n' в качестве последнего символа строки формата).
- Since 3.12
type file_name = string
Удобный псевдоним для обозначения имени файла.
- Since 4.00
val open_in : file_name -> in_channel
Scanning.open_in fname возвращает форматированный канал ввода Scanf.Scanning.in_channel для буферизованного чтения в текстовом режиме из файла fname.
Примечание: open_in возвращает форматированный канал ввода, который эффективно считывает символы большими блоками; в отличие от этого, from_channel ниже возвращает форматированные каналы ввода, которые должны считывать по одному символу за раз, что приводит к значительно более низкой скорости сканирования.
- Since 3.12
val open_in_bin : file_name -> in_channel
Scanning.open_in_bin fname возвращает форматированный канал ввода Scanf.Scanning.in_channel для буферизованного чтения в двоичном режиме из файла fname.
- Since 3.12
val close_in : in_channel -> unit
Закрывает связанный с заданным форматированным каналом ввода Scanf.Scanning.in_channel in_channel.
- Since 3.12
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
© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/api/Scanf.Scanning.html