Commits

Anonymous committed 997bb5b

simple enumerators: done

Comments (0)

Files changed (1)

              IO.return it
          ]
     ;
+
+  (энумератор enum_string, имеющийся в библиотеке ocaml-iteratees,
+немного сложнее показанного примера: он принимает опциональный
+параметр "bufsz", который указывает, какого размера блоками он
+будет кормить итерат.  Это полезно в случаях, когда строка большая,
+а итерат, вероятно, закончит работу раньше, не дойдя до конца
+строки.  Кроме того, это уменьшает память, используемую для энумерации
+строки: вместо использования массива на "String.length str" значений
+может быть использован массив меньшей длины.  Разумеется, массив
+будет выделен один раз при входе в энумератор и будет каждый раз
+заполняться новыми элементами строки, согласно работе итерата.
+Но не переживайте: энумераторы, умеющие кормить итераты чанками
+меньшего размера, чем весь поток, будут продемонстрированы ниже,
+например, в энумераторе enum_pure_nchunk или enum_{fd,file}.)