В настоящее время у меня есть список карт, теперь я хочу показать все возможные пары карт в другом списке. Например: [(Card Club R2, Card Heart R3), (Card Club R2, Card Heart R4), (Card Club R2, Card Heart R5), (Card Club R2, Card Heart R6).........]
. Общий результат может быть 1326 различных парHaskell пара две карты
ответ
Вобще
[ (c1, c2) | c1 <- allCards, c2 <- allCards, c1 /= c2 ]
Но это вернет 2652 пар, как уже упоминалось.
Для restict это 1326 пар, либо сделать как предложено Zeta или добавить Ord
к Card
:
[ (c1, c2) | c1 <- allCards, c2 <- allCards, c1 < c2 ]
Вы можете нарисовать одну и ту же карту дважды там, и почему бы не рисовать из 'allCards'? Ваш код будет намного короче: '[(c1, c2) | c1 <- allCards, c2 <- allCards, c1/= c2] ' – Carsten
спасибо, так что это тип нового списка, например [Card] - это список отдельных карточек? –
@PeiChuang Его '' [(Карточка, карточка)] '' – ThreeFx
- 1. Удалить пара дублирует Haskell
- 2. пара на кортеж .. (Haskell)
- 3. Haskell пара число и список
- 4. пара внутри карты - как Foreach
- 5. haskell и определение типов функций. пара вопросов
- 6. Библиотека карты диапазона Haskell
- 7. Бесконечные карты в Haskell
- 8. Функция карты в Haskell
- 9. Haskell добавить 2 карты
- 10. Haskell карты, возвращающие монады
- 11. Циркулярные карты в haskell
- 12. Haskell: инвертирующий «карты»
- 13. Binary карты в Haskell
- 14. Пара в качестве ключа карты для памятки
- 15. Java сравнить две карты
- 16. Объединить две карты STL
- 17. Карты Bing: две карты на веб-странице
- 18. угловые карты google отображает две карты
- 19. Как объединить список в функции карты - Haskell?
- 20. Haskell - Передача аргумента функции карты?
- 21. Изменение карты карт в Haskell
- 22. Hive Concat две карты объекта
- 23. python, объединяющий две логики карты()
- 24. Как локально синхронизировать две карты?
- 25. Быстрый способ объединить две карты?
- 26. Как создать две карты Google
- 27. Объединить две карты значений значений
- 28. Разделите две строки на подстроки и пара их
- 29. Как связать эти две функции Haskell вместе?
- 30. Как согласовать две (IO) строки в Haskell?
Я не знаю достаточно о вашем костюме и ранга - но это должно работать: '[(c1, c2) | c1 <- allCards, c2 <- allCards, c1/= c2] ', если вы получили' Eq' – Carsten
@ CarstenKönig: подсчет OP (1326) предполагает, что дублирующие пары (т. е. X, Y против Y, X) должны быть устранены. Может быть достигнуто с помощью 'c1