Je sais que la fonction map prend chaque élément d'une liste (une séquence) et lui applique une fonction. Récursive (et sans respect des conditions de licenciement, etc.)Mappage de sous-listes dans Scala
map(s, f) = f(s.head) :: map(s.tail, f)
Je cherche une fonction qui fait quelque chose comme
foo(s, f) = f(s) :: map(s.tail, f).
donc un « cartographe » où la fonction de mappage est appelée sur les sous-listes et non éléments individuels. En termes de lisp, je cherche un mapliste, par opposition à un mapcar. Est-ce que quelque chose comme ça existe, ou dois-je rouler le mien (ou utiliser la récursivité)?
Sinon, je prendrais une fonction qui prend en entrée une séquence et retourne une séquence de séquences mi-bout, à savoir
bar(s, f) = s :: bar(s.tail, f)
Pouvez-vous donner un exemple de l'entrée et la sortie désirée? J'ai de la difficulté à suivre. –
Je ne connais pas la réponse à cette question, mais si vous avez besoin de types et de fonctions avancés, consultez la bibliothèque Scalaz: http://code.google.com/p/scalaz/ – egaga