myst
написал 17 марта 2010 года в 00:42 (1549 просмотров)
Ведет себя
как Череп; открыл 50 тем в форуме, оставил 2987 комментариев на сайте.
Вряд ли тут кто-то знает, но всё же…
Очевидно, что самый простой и удобный способ прочитать бинарный файл — прочитать его в Buffer. Но, скажем, не эти данные нужны в виде массива, например, int. Я это делаю так
Array.init (Buffer.length b) (fun i -> int_of_char (Buffer.nth b i))
Есть ли более простой/красивый/естественный способ (что-нибудь вроде Buffer.to_array или Array.of_buffer, например)?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Так-с, очевидно, что без создания массива и «цикла» для преобразования типов элементов не обойтись. Вопрос о скорости это снимает. А вопрос о простоте снимает отсутствие в Array и Buffer каких-либо намёков на преобразование одного в другое.
Как вяснилось, Buffer не совсем удобен для одиночной загрузки. В таком случае следует или Bigarray.map_file’ить или делать так: