Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Haskell] Разделить Лист 
V
    Опции темы
FewG
Дата 8.11.2012, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 23.11.2010

Репутация: нет
Всего: нет



Всем Привет, такой вопрос как можно разделить лист на несколько литов, ПРИМЕР: Было [0,1,2,3,4,5,6,7,8,9] -> стало [[0,1,2,3,4],[5,6,7,8,9]]?
PM MAIL   Вверх
k0rvin
Дата 9.11.2012, 07:24 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Можно. Разрешаю. Делите, Шура, делите.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
FewG
Дата 9.11.2012, 15:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 23.11.2010

Репутация: нет
Всего: нет



Цитата(k0rvin @ 9.11.2012,  07:24)
Можно. Разрешаю. Делите, Шура, делите.

Вася, учим русский, "как можно" и "можно ли" разные вещи.

Р.S. Проблема решена так:

Код
--splitIn :: Int -> [Bool] -> [[Bool]]
splitIn n [] = []
splitIn n x = [take n x] ++ splitIn n (drop n x)

Код
*Main> splitIn 2 [0,1,2,3,4,5,6,7,8,9]
[[0,1],[2,3],[4,5],[6,7],[8,9]]

PM MAIL   Вверх
k0rvin
Дата 9.11.2012, 19:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: нет
Всего: 5



Цитата(FewG @ 9.11.2012,  15:52)
Вася, учим русский, "как можно" и "можно ли" разные вещи.

Черт, да, слона-то («как») я и не приметил...

Цитата(FewG @ 9.11.2012,  15:52)
Р.S. Проблема решена так:

Код
--splitIn :: Int -> [Bool] -> [[Bool]]
splitIn n [] = []
splitIn n x = [take n x] ++ splitIn n (drop n x)

Код
*Main> splitIn 2 [0,1,2,3,4,5,6,7,8,9]
[[0,1],[2,3],[4,5],[6,7],[8,9]]

пару рекомендаций:
тип splitIn будет 
Код

splitIn :: Int -> [a] -> [[a]]


Код

[0..9] == [0,1,2,3,4,5,6,7,8,9]


и может быть предусмотреть безошибочную реакцию на
Код

splitIn -2 [0..9]

?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума «Функциональные языки: общие вопросы»
Void
  • Пожалуйста, создавайте темы с содержательными названиями. Если у Вас вопрос по конкретному языку, укажите его в заголовке, например: «[Haskell] Как использовать монаду State».
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1032 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.