Есть бинарный файл, нужно выбирать из него 16-битные отсчёты с определённого места (nBg - номер отсчёта в файле) и количеством-nSm. Результат - список типа [Word16] (или [Int16]) размером nSm. Вот последовательность действий над одним отсчётом (2-4): 1 main = do ff <- decodeFile "Data.dat" :: IO [Word16] 2 let x1 = putWord16le (ff !! 10) 3 x2 = runPut x1 4 x3 = decode x2 :: Word16 5 printf "0x%x\n" x3 Здесь получаю 1 отсчёт. Нужно написать ф-цию, которая формирует список из этих отсчётов, описанный выше. Примерная типизация: getRecData :: IO a -> Integer -> Integer -> [a] getRecData x nBg nSm Здесь, x - значение возвращённое decodeFile (1 строка - ff, например) nBg - номер позиции первого 16-битного отсчёта; nSm - всего отсчётов; [a] - результат, список отсчётов. Использую a (IO a, [a]), т.к. может быть и Word8, Word16, Word32...
←
1
2
→
Ответ на:
комментарий
от jtootf
Ответ на:
комментарий
от jtootf
Ответ на:
комментарий
от jtootf
Ответ на:
комментарий
от cathode
Ответ на:
комментарий
от cathode
Ответ на:
комментарий
от jtootf
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [Haskell] списки (2010)
- Форум [haskell] Числа как конструкторы типов (2009)
- Форум Ламбда в списке инициализации конструктора ? (2023)
- Форум [haskell][ADT] Извлечение парметра из конструктора (2010)
- Форум [haskell][быдлокод]Максимум от списка (2012)
- Форум Конструктор в конструкторе (2013)
- Форум Haskell Из одного списка создать два (2020)
- Форум конструктор =] (2007)
- Форум Haskell. Никак не могу сравнить 2 списка. (2013)
- Форум haskell: (&) (2019)