J'ai une chaîne que je voudrais vérifier si elle est purement faite de lettres et d'espace.Comprendre les ensembles et les séquences en utilisant la vérification de chaîne comme exemple
val str = "my long string to test"
val purealpha = " abcdefghijklmnopqrstuvwxyz".toSet
if (str.forall(purestring(_))) println("PURE") else "NOTPURE"
Le code CONCISE ci-dessus fait le travail. Cependant, si je le lance ainsi:
val str = "my long string to test"
val purealpha = " abcdefghijklmnopqrstuvwxyz" // not converted toSet
str.forall(purealpha(_)) // CONCISE code
Je reçois une erreur (trouvé: Char ... requis: Boolean) et il ne peut fonctionner en utilisant la méthode contient cette façon:
str.forall(purealpha.contains(_))
Ma question est comment puis-je utiliser le formulaire CONCISE sans convertir la chaîne en Set. Toutes les suggestions pour avoir ma propre classe String avec la bonne combinaison de méthodes pour activer le bon code; ou peut-être une ou plusieurs fonction (s) pure (s) travaillant sur des chaînes.
C'est juste un exercice amusant que je fais, donc je peux comprendre les détails complexes de diverses méthodes sur les collections (y compris la méthode d'application) et comment écrire un code et des classes concis.
Nice, concis et intuitif. –