Scala scinde une chaîne de n-uplet
Je voudrais diviser une chaîne sur les espaces qui dispose de 4 éléments:
1 1 4.57 0.83
et je suis en train de le convertir dans la Liste[(String,String,Point)], tels que les deux premières divisions sont d'abord deux éléments dans la liste, et les deux derniers points. Je suis en train de faire ce qui suit, mais il ne semble pas fonctionner:
Source.fromFile(filename).getLines.map(string => {
val split = string.split(" ")
(split(0), split(1), split(2))
}).map{t => List(t._1, t._2, t._3)}.toIterator
Si vous souhaitez un tuple pourquoi vous dites que vous voulez convertir à une Liste?
Je suis d'accord, ce devrait être le titre de plus près à convertir en chaîne de la Liste() des éléments
Je suis d'accord, ce devrait être le titre de plus près à convertir en chaîne de la Liste() des éléments
OriginalL'auteur princess of persia | 2013-02-20
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le pattern matching pour en extraire ce dont vous avez besoin à partir de la matrice:
à partir de l'API de
collect
"permet à une nouvelle collection en appliquant une fonction partielle de tous les éléments de cette liste sur laquelle la fonction est définie.". C'est commemap
mais ne laisse que les éléments dans le domaine de la fonction partielleOriginalL'auteur Denis Tulskiy
Comment à ce sujet:
OriginalL'auteur Randall Schulz
Vous n'êtes pas convertir le troisième et le quatrième jetons dans un
Point
, ni de conversion les lignes dans unList
. Aussi, vous n'êtes pas le rendu de chaque élément comme unTuple3
, mais comme unList
.La suite devrait être plus en ligne avec ce que vous cherchez.
De mon Point de classe a (IndexedSeq[Double]) alors, comment puis-je obtenir Indexés Seq de tuple?
OriginalL'auteur cheeken
Et pour les curieux, le @ dans la correspondance de motif lie une variable dans le modèle, de sorte
points @ _*
est la liaison de la variable pointe vers le modèle * _ * Et de_ correspond au reste de la matrice, de sorte que les points se Seq[String].OriginalL'auteur Ryan K
Il existe des moyens pour convertir un Tuple de la Liste ou Seq, Une façon est
Mais comme vous pouvez voir que le type de retour est Tout et PAS un ENTIER
Pour les convertir dans différents types que vous utilisez Hlist de
https://github.com/milessabin/shapeless
OriginalL'auteur Atiq