Wenn das, was Sie wollen, ist ein String
Wert mit n
Nullen zu bauen, könnten Sie ein for
verwenden den Charakter 0
Nachgeben und nehmen dann die Rückkehr Vector
in einen String mit mkString
wie folgt:
scala> val aLotOfZeroes: String = (for (i <- 0 to 63) yield "0").mkString
aLotOfZeroes: String = 0000000000000000000000000000000000000000000000000000000000000000
Und dann könnte man es verallgemeinern, indem man einen Parameter ebenfalls hinzugefügt:
scala> def aLotOfZeroes(n: Int): String = (for (i <- 0 to n) yield "0").mkString
aLotOfZeroes: (n: Int)String
scala> aLotOfZeroes(10)
res2: String = 00000000000
scala> val zeroes: String = aLotOfZeroes(10)
zeroes: String = 00000000000
scala> zeroes
res3: String = 00000000000
Auch von @ DivideByZero Kommentar, können Sie *
verwenden:
scala> "0" * 64
res13: String = 0000000000000000000000000000000000000000000000000000000000000000
Und definieren:
scala> def aLotOfZeroes: Int => String = "0" * _
aLotOfZeroes: Int => String
scala> aLotOfZeroes(10)
res16: String = 0000000000
Was wollen Sie erreichen? Willst du einen String mit 'n'''s erstellen? – nicodp
Neben dem 'yield' für' for' können Sie auch 'Stream.fill (64) ('0')' verwenden, beide benötigen ebenfalls einen '.mkString'. Sie können auch einfach '" 0 "* 64" verwenden. Sehen Sie sich diese sehr ähnliche Frage an. https://stackoverflow.com/questions/31637100/efficiently-repeat-a-character-string-n-times-in-scala – dividebyzero
In diesem Fall wollte ich ein 64-Bit-Wort generieren und dann an eine Nachricht (md5 Algorithmus) – Madaray