Я очень новичок в Haskell, поэтому ответ М.Гвинн был легок для понимания. В сочетании с комментарием , предлагающим альтернативный синтаксис , я попытался заставить его работать в обоих направлениях.
rotate :: Int -> [a] -> [a]
rotate n xs = take lxs . drop (n `mod` lxs) . cycle $ xs where lxs = length xs
Таким образом, rotate (-1) [1,2,3,4]
дает вам тот же результат, что и rotate 3 [1,2,3,4]
.
Я подумал, что должен был добавить это, потому что drop
ping меньше 0 элементов ничего не делает, поэтому мой предпочтительный ответ дает «неправильные» (по крайней мере, сбивающие с толку) результаты с отрицательными значениями для параметра n
.
Интересной частью этого решения является то, что оно сочетает в себе «полноту» для отрицательных вращений с обработкой пустых списков. Благодаря лени Хаскелла, он также дает правильные результаты для rotate 0 []
.
Есть шанс :)
haxevideo - это сервер типа FMS / Red5, разработанный в Haxe . Разница между ними в том, что они очень легкие и не требуют какой-либо установки.
Так что вы можете распространять их вместе со своим приложением, чтобы вы действительно могли записывать аудио и видео локально в файл FLV.
] Не уверен, что вы помните Screenweaver, но последняя версия была разработана с использованием Haxe и называется SWHX. Ваш покорный слуга построил поверх SWHX оболочку под названием HippoHX , и HippoHX сделает всю настройку за вас. Если вы его загрузите, есть образец, который сделает именно то, что вам нужно (запись в локальный файл).
После того, как вы записали файл, единственный оставшийся бит будет загружен на сервер, но это не имеет большого значения.
Тебе не повезло с этим. Вам понадобится какой-то потоковый сервер. Flex не имеет возможности записывать видео на локальный или любой другой диск пользователя.