Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
1

Функция skip

20.07.2018, 14:33. Показов 1298. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу сделать функцию, которая вернет список без первых count элементов. И первый вопрос - как понять, какой элемент стоит пропускать, а какой нет (именно в Haskell)?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2018, 14:33
Ответы с готовыми решениями:

Список с пропусками (Skip List)
Ребят, выручайте!) пытаюсь разобраться с реализацией этих списков. Сама структура данных понятна,...

Skip List (Список с пропусками)
Здравствуйте, уважаемые форумчане, помогите пожалуйста разобраться с Списками с пропусками. Сроки...

Entity SQL: LIMIT/SKIP, TOP
Всем привет, подскажите плз как в Entity SQL выбрать несколько элементов, пропустив какое-то число...

Создание Skip List, используя STL (C++)
Кто-нибудь когда-то встречался с подобной реализацией скип списка? Рассматривал варианты реализации...

5
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
20.07.2018, 15:10 2
Лучший ответ Сообщение было отмечено Volobuev Ilya как решение

Решение

Странный вопрос... Что значит "стоит-не стоит", если нужно пропустить первые n элементов?

Haskell
1
2
3
4
5
6
7
8
9
10
-- Рекурсия 
 
skip :: [a] -> Int -> [a]
skip xs 0 = xs
skip (x:xs) n = skip xs (n-1)
 
-- ФВП
 
skip' :: [a] -> Int -> [a]
skip' x n = map fst $ filter (\ (a,b) -> b>n) $ zip x [1..]
2
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
20.07.2018, 15:17  [ТС] 3
Catstail, (x:xs) - это как понять?
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
20.07.2018, 15:24 4
Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
(x:xs) - это как понять?
- это нужно понимать так: если из произвольного списка, состоящего из головы x и хвоста xs нужно удалить n первых элементов, то это все равно, что из списка xs удалить n-1 элемент.
1
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
20.07.2018, 20:48 5
Catstail, попробуйте свой skip "qwe" 4.
Кроме того, в Haskell принято то что изменяется ставить последним аргументом чтобы можно было в цепочку выстраивать. Сравните filter,map,take.
Haskell
1
2
3
4
5
skip :: Int -> [a] -> [a]
skip _ []     = []
skip 1 (_:xs) = xs
skip n a@(_:xs) | n<=0 = a
                | otherwise = skip (n - 1) xs
1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
21.07.2018, 07:12 6
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
попробуйте свой skip "qwe" 4.
- а, конечно:


Haskell
1
2
3
4
skip :: [a] -> Int -> [a]
skip [] _  = [] 
skip xs 0 = xs
skip (x:xs) n = skip xs (n-1)
0
21.07.2018, 07:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2018, 07:12
Помогаю со студенческими работами здесь

mysqldump: unknown option '--skip-networking'
mysqldump -uroot -ppass code &gt; d:\wamp\coce.sql

Skip() в Entity Framework 6 не возвращает результат
Работаю с Entity Framework 6. Имеется контекст context. //Пытаюсь получить первые 10...

Undocumented feature: ViewNavigatort.skip(int entriesToSkip)
На днях внимательно перечитал статью. Как ни странно, но открыл для себя новую вещь -...

Press esc in 1 seconds to skip startup.nsh
press esc in 1 seconds to skip startup.nsh не работает клавиатура и мышь. Помогитееее, Люди...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru