2017-03-11 2 views
2

Est-il possible d'écrire la fonction de la manière suivante:Existe-t-il un équivalent d'espace réservé dans Elm?

find_parts: String -> List String -> List String                   
find_parts word parts = 
    List.filter String.contains _ word parts 

Au lieu de:

find_parts: String -> List String -> List String 
find_parts word parts = 
    List.filter (\part -> String.contains part word) parts 

Répondre

7

S'il y a, ce n'est pas documented.

solution alternative, si vous voulez juste éviter d'utiliser la syntaxe lambda flip:

find_parts: String -> List String -> List String 
find_parts word parts = 
    List.filter (flip String.contains word) parts 
+1

Pour être plus concis, vous pouvez également éviter le paramètre 'parts' – gabrielperales

+1

@gabrielp erales Vous voulez dire 'find_parts word = List.filter (flip String.contains mot)'? Bien, mais ce n'était pas vraiment la question, et je ne veux pas aller trop loin avec un style sans point :) – stholzm

+1

Ouais, je sais, mais je voulais juste que vous sachiez que: P – gabrielperales

1

Vous pouvez également éviter le lambda avec la composition de la fonction:

find_parts: String -> List String -> List String 
find_parts word parts = 
    (List.filter << flip String.contains) word parts 

ou même simplement:

find_parts: String -> List String -> List String 
find_parts = 
    List.filter << flip String.contains