Pour apprendre les bases de OCAML, je résolvez l'un des easy Facebook Ingénierie Puzzles en l'utilisant. Essentiellement, j'aimerais faire quelque chose comme le code Python suivant:
some_str = some_str.strip()
6 Réponses :
Que diriez-vous de (via Code codex ) p> p>
Cette question est à la page supérieure de Google. Donc, pour une recherche rapide, je mets une réponse ici. C'est string.strip
C'est vraiment une erreur de vous limiter à la bibliothèque standard, car la norme Ilbrary manque beaucoup de choses. Si, par exemple, vous deviez utiliser Core, vous pouvez simplement faire:
open Core.Std let x = String.strip " foobar " let () = assert (x = "foobar")
Peut-être que j'aime mal. Les règles disent: "Vous n'êtes pas garanti de bibliothèques ni de plug-ins au-delà de ce qui fait partie de la langue / l'interprète lui-même." La distribution est INRIA OCAML. Core tombe-t-il sous cette catégorie?
Le noyau ne fait pas partie de la bibliothèque standard. C'est une bibliothèque tierce partie qui étend la norme (comme Extlib and Batteries). Vous pouvez le télécharger ici: JanestCapital.com/?q=node/13
String.strip est une fonction qui éliminera ce qui est défini par le paramètre 'Drop' '- ocaml.janestreet.com/ocaml-core/v0.9/doc/base/base/string/... Par défaut, 'Drop' est Whitapes / Tabs / etc. Donc, cela fera la même chose que String.Trim.
Je sais que cette question est uber-old, mais je faisais attention à la même chose et je suis venu avec ceci (de Toplevel): puis p> strip " Hello, world! ";;
- : string = "Hello, world!"
Je crois au point où les autres réponses ont été données, la version 4.00 n'était pas encore sortie. En fait, dans OCAML 4.00, il existe une fonction string.trim dans le Module de chaîne pour couper les espaces blancs et traînants.
Alternativement, si vous êtes limité à une version plus ancienne d'OCAML, vous pouvez utiliser cette fonction copiée sans vergogne de la source du module de chaîne de 4,00. p>
Quelque chose de simple comme ça devrait fonctionner bien:
Si vous fournissez une réponse nécessitant des drapeaux de compilation supplémentaires, veuillez inclure toutes les choses nécessaires pour compiler réellement ce code.
Merci d'avoir fait remarquer cela. J'ai ajouté l'exigence du module STR.
La bibliothèque standard
String.trim