0 / 0 / 1
Регистрация: 25.06.2013
Сообщений: 17
1

"Заполнение" записи на основе массива байтов

15.09.2013, 15:05. Показов 719. Ответов 0
Метки нет (Все метки)

Здравствуйте.

Нужна функция, зполняющая значениями запись на основе массива байтов. Т. е. мы откусываем от массива кусочки разных длин nk, обрабатываем их и пишем результат в соответствующее поле MyData.

Вот дубовая реализация:
Haskell
1
2
3
4
data Mydata = ...
 
foo :: Bytes -> MyData
foo block = MyData (func1 . take n1 block) (func2 . take n2 $ drop n1 block) (func3 . take n3 $ drop (n1+n2) block) ...
Так чуть лучше:
Haskell
1
2
3
4
5
6
7
data Mydata = ...
 
foo :: Bytes -> MyData
foo block = MyData (func1 . take n1 block) (func2 . take n2 r1) (func3 . take n3 r2) ... where
   r1 = drop n1 block
   r2 = drop n2 r1
   ...
Можно ли всё это как-то эффективнее сделать?

Спасибо.

Добавлено через 35 минут
Да, и ещё один вопрос. Наверное так:
Haskell
1
data DT = DT ... ByteString ...
не очень хорошо - в том случае если в поле типа bytestring предполагается хранение данных фиксированной длины. Можно ли как-то оговрить, что, скажем, там у нас будет массив из 256 байт? Это ведь должно упростить внутреннюю структуру типа?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2013, 15:05
Ответы с готовыми решениями:

[КуМир] Ввести символьную строку и заменить все буквы "а" на "б" и наоборот (как заглавные так и строчные)
ввести символьную строку и заменить все буквы а на буквы б и наоборот как заглавные так и строчные...

Функция для нахождения "Наибольшего общего делителя" и "Наименьшего общего кратного"
Помогите пожалуйста!!!!СРОЧНО НАДО!! Нужно написать функцию для нахождения НОД(наибольшего общего...

Библиотека с "Atmel Studio" в "CV AVR": все принимается нормально, кроме массива байтов
Народ, прошу помощи! Взял библиотеку с "Atmel Studio" в "CV AVR", все приняло нормально кроме...

Дан массив строк: "red", "green", "black", "white", "blue". Запишите в файл элементы массива построчно (в новой строке)
пишу так но не помогает: static void Main(string args) { string...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2013, 15:05

Поиск записи в форме на основе значения, которое содержит элемент "Подчинённая форма/отчёт"
Здравствуйте! Многим известно, что при добавлении на форму элемента "Поле со списком" Access...

Заполнение "номера по порядку" автоматически при добалении записи
есть таблица где содержется четыре колонки № п/п перечень объектов количество сумма....

Необработанное исключение в "0x00a78659" в "First.exe": 0xC0000005: Нарушение прав доступа при записи "0x0189f000"
Здравствуйте, вот столкнулся с ошибкой и не могу понять в чем причина, вроде все правильно сделал....

Ошибка "Приведение строки "explorer.exe" к типу "Double" является недопустимым" при записи в реестр
Помогите, хочу получить доступ к winlogon, что бы изменять любое другое значение shell на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru