сравнить списки в Haskell - PullRequest
       13

сравнить списки в Haskell

0 голосов
/ 01 октября 2011

Я пытался сравнить два списка в Haskell и нашел ответ здесь
Интересно, как
all (flip elem listx) input
работает специально для роли флип играет здесь.
Когда я вынимаю flip , он больше не будет работать.

1 Ответ

9 голосов
/ 01 октября 2011
  1. flip elem listx эквивалентно (flip elem) listx.
  2. (flip elem) аналогично elem, но с аргументами в обратном порядке.Это то, что делает flip.
  3. elem - это функция, которая принимает элемент и список и проверяет, принадлежит ли элемент списку.
  4. Итак, flip elem являетсяфункция, которая принимает список и элемент и проверяет, принадлежит ли элемент списку.
  5. Следовательно, flip elem listx - это функция, которая принимает элемент и проверяет, принадлежит ли элемент listx.
  6. Теперь all принимает предикат и список и проверяет, все ли элементы списка удовлетворяют предикату.
  7. all (flip elem listx) берет список и проверяет, все ли элементы спискаудовлетворить flip elem listx.То есть принадлежат ли они всем listx.
  8. all (flip elem listx) input, проверяет, все ли элементы input принадлежат listx.
  9. QED
...