2017-05-31 3 views
-1

Je sais qu'il existe un paquet scala.collection.mutable qui fournit des structures de données mutables. Mais comment est-ce fait? Puis-je écrire ma propre structure de données modifiable et la transmettre à une fonction à modifier?Scala: Comment écrire ma propre matrice mutable?

Modifier: La question vise les techniques qui peuvent être utilisées pour implémenter des types de données mutables.

+3

Votre question n'est pas claire. Que voulez-vous dire par "Comment ça se fait?" Y at-il quelque chose de flou après avoir lu le code source des classes dans 'scala.collection.mutable'? –

Répondre

4

Lecture de this wonderful tutorial sur l'implémentation de collections personnalisées dans scala. Il devrait avoir tout ce dont vous avez besoin pour répondre à la question «comment ça se fait».

Si vous parlez à peu près une structure de données, pas une collection, alors quelque chose comme

class Foo(var bar: String) 

fera. Mais ... ne le fais pas. Bien qu'il existe des cas rares et isolés, où une structure mutable est inévitable, les chances sont, vous ne rencontrerez pas un tel cas pendant une longue période. Mon conseil pour vous est de commencer par apprendre à écrire du bon code scala idiomatique, et d'entrer dans l'état d'esprit fonctionnel, où les structures de données ne muent pas sous vous. Apprenez à apprécier cela.

2

Bien sûr, vous pouvez. Il n'y a aucune limitation, que toutes les structures de données immuables doivent être à l'intérieur scala.collection.immutable, et toutes les DS mutables doivent être à l'intérieur scala.collection.mutable. Classes de collection standard sont divisés en ces deux paquets juste pour plus de commodité. Vous pouvez créer vos classes, où vous aimez le faire.