2017-10-12 4 views
1

Wie kann ich eine Liste von String in Haskell erstellen, um es in einer Funktion zu verwenden, die die Liste und ein Wort als Argumente nimmt und nach demselben Char aus einem Wort in der Liste String sucht? Soll ich Data.Map oder Data.List zum Erstellen einer Liste verwenden? Ich habe versucht, es so zu schaffen:Wie kann ich eine Liste von Strings in Haskell erstellen?

dictionary :: [String] 
dictonary = fromList ["wit","ass","bad","shoe","cold","pie","and","or"] 
+9

Entfernen Sie 'fromList' und Sie sind fertig. Die Klammern bilden bereits eine Liste, es ist nicht nötig, etwas anderes zu tun. – chi

+2

Nun, wenn Sie eine * Liste * von Strings wollen, sehe ich nicht, warum Sie eine 'fromList' brauchen. Du hast bereits eine Liste erstellt. –

Antwort

1

Vielleicht so etwas wie

import Data.List 
let checkIfContains :: [String] -> String -> Integer 
checkIfContains x y = elemIndex y x 

Dann ein Beispiel diese laufen würde:

checkIfContains ["lol", "heh"] "heh" 

output: Just 1 

Also, wenn Sie Eingabe eine Liste von Strings x und ein String y zu sehen, ob y ist in x, dann ist die Ausgabe der Index y in x (wie hier fanden wir "heh" in Index 1 von x). Wenn y ist nicht in x der Ausgang

sollte
Nothing 

Sache zu beachten, findet diese Funktion das erste Vorkommen von y in x, so dass, wenn, wenn Sie zwei Einträge von y in x haben, ist es dann Zeige den Index des ersten Auftretens.

Verwandte Themen