Spec-Zone.ru › OCaml

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API