diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2015-02-17 16:24:06 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2015-02-17 16:24:06 -0800 |
commit | 3a3d0de023895d8b386974bfe1fb55886cbdce83 (patch) | |
tree | 88dba24e0d6b26d29796fa86d01bcab28219642b /src | |
parent | da49d9a00ec373a0e7f2ffe946a897a65c9b0741 (diff) | |
parent | 01fad26258d73c1901dedeaf50db02d1407acd65 (diff) | |
download | scala-3a3d0de023895d8b386974bfe1fb55886cbdce83.tar.gz scala-3a3d0de023895d8b386974bfe1fb55886cbdce83.tar.bz2 scala-3a3d0de023895d8b386974bfe1fb55886cbdce83.zip |
Merge pull request #4328 from adriaanm/rework-4230
SI-9059 Random.alphanumeric is inefficient
Diffstat (limited to 'src')
-rw-r--r-- | src/library/scala/util/Random.scala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/library/scala/util/Random.scala b/src/library/scala/util/Random.scala index 8d68c5be38..2d38c9d4a0 100644 --- a/src/library/scala/util/Random.scala +++ b/src/library/scala/util/Random.scala @@ -121,15 +121,21 @@ class Random(val self: java.util.Random) extends AnyRef with Serializable { (bf(xs) ++= buf).result() } + @deprecated("Preserved for backwards binary compatibility. To remove in 2.12.x.", "2.11.6") + final def `scala$util$Random$$isAlphaNum$1`(c: Char) = (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') + /** Returns a Stream of pseudorandomly chosen alphanumeric characters, * equally chosen from A-Z, a-z, and 0-9. * * @since 2.8 */ def alphanumeric: Stream[Char] = { - def isAlphaNum(c: Char) = (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') + def nextAlphaNum: Char = { + val chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + chars charAt (self nextInt chars.length) + } - Stream continually nextPrintableChar filter isAlphaNum + Stream continually nextAlphaNum } } |