Я новичок Haskell, поэтому прошу прощения, если вопрос очень прост.Сравнение строк в Haskell
Как вы можете проверить с помощью Haskell, если одна строка содержится в другой строке, например, «banna» и «banana».
Это то, что я до сих пор, но это, кажется, не работает должным образом:
isElementString :: String -> String -> Bool
isElementString (y:ys) (x:xs) = elem y (x:xs) && isElementString (ys) (xs)
Большое спасибо!
Спасибо большое! Не могли бы вы объяснить, что означает s и @? У меня еще не было этого в классе, поэтому я немного смущен. – redrenoir
@ позволяет вам привязать сопоставленный шаблон к другому имени в дополнение к шаблону, который вы используете. s - это то же самое, что (x: xs). Здесь это действительно не нужно, вы можете просто написать 'иначе = isElementString (x: xs) ys'. –
Спасибо тонну! : D – redrenoir