Schimb, dacă dat personajul este într-o listă sau nu, fără utilizarea de elem funcție și recursivitate

0

Problema

Trebuie să fac elementIsInList :: Eq a => a -> [a] -> Bool funcție care ar trebui să se comporte la fel elem funcția s-ar comporta, dar nu se poate folosi recursivitate și, desigur, elem funcția în sine. M-am gândit de punere în aplicare folosind filter funcția, dar nu-mi dau seama cum filter funcționează. Sunt pe drumul cel bun?

elementIsInList x xs = filter(x==xs) xs

haskell higher-order-functions list
2021-11-13 14:55:45
1

Cel mai bun răspuns

2

x == xs nu face prea mult sens, x este un element să se uite pentru, întrucât xs este întreaga listă de elemente. Puteți face uz de o expresie lambda:

filter (\x -> x == y) xs

sau de un operator infix secțiune:

filter (x ==) xs

În plus, aveți nevoie pentru a verifica dacă lista este goală. null :: Foldable f => f a -> Bool va reveni True dacă lista este goală, și False dacă nu este. Apoi va trebui să anula rezultatul cu not :: Bool -> Bool.

2021-11-13 15:00:22

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................