Si vous imprimez une chaîne dans la console, vous l'obtiendrez sans guillemets, comme ceci

scala> "asd"
res21: String = asd

Ce qui est génial, mais j'ai une certaine liste de classes de cas en cours d'impression que je veux copier pour la coller plus tard quelque part. Le problème est qu'il ne sera pas compilé fraîchement copié car le " est manquant

Existe-t-il un moyen simple de générer des chaînes avec des guillemets dans la console?

Pour clarifier davantage, je veux ce qui suit

scala> "asd"
res21: String = "asd"

Merci!

1
JSelser 21 avril 2017 à 16:05

3 réponses

Meilleure réponse

Vous pouvez remplacer toString dans vos classes de cas:

case class MyClass(a: String, b: String) {
  override def toString = s"MyClass(a = \"$a\", b = \"$b\")"
}

Les a = et b = ne sont que pour plus de clarté (vous pouvez les supprimer si vous n'en avez pas besoin), mais ils n'affecteront pas le code collé.

2
Cyrille Corpet 21 avril 2017 à 13:23

Essayer:

val x = """"asd""""

Cette interpolation à trois guillemets peut être ce que vous recherchez (vous ajoutez ensuite une autre citation pour faire ce que vous devez faire).

-3
mfirry 21 avril 2017 à 13:14

Vous pouvez essayer avec un espace vide après la chaîne

scala> "asd "
res11: String = "asd "
1
vgudzhev 21 avril 2017 à 13:27