scala - 如何在 Scala 中创建一组字符?

标签 scala scala-collections

我想在 Scala 中创建一组字符范围,例如 A..Za..z0..9。这是我的看法:

scala> ('A' to 'Z').toSet.union(('a' to 'z').toSet).union(('0' to '9').toSet)
res3: scala.collection.immutable.Set[Char] = Set(E, e, X, s, x, 8, 4, n, 9, N, j, y, T, Y, t, J, u, U, f, F, A, a, 5, m, M, I, i, v, G, 6, 1, V, q, Q, L, b, g, B, l, P, p, 0, 2, C, H, c, W, h, 7, r, K, w, R, 3, k, O, D, Z, o, z, S, d)

这不是做到这一点的惯用方式。什么是更好的方法?

最佳答案

这个怎么样:

scala> ('a' to 'z').toSet ++ ('A' to 'Z') ++ ('0' to '9')
res0: scala.collection.immutable.Set[Char] = Set(E, e, X, s, x, 8, 4, n, 9, N, j, y, T, Y, t, J, u, U, f, F, A, a, 5, m, M, I, i, v, G, 6, 1, V, q, Q, L, b, g, B, l, P, p, 0, 2, C, H, c, W, h, 7, r, K, w, R, 3, k, O, D, Z, o, z, S, d)

或者,或者:
scala> (('a' to 'z') ++ ('A' to 'Z') ++ ('0' to '9')).toSet
res0: scala.collection.immutable.Set[Char] = Set(E, e, X, s, x, 8, 4, n, 9, N, j, y, T, Y, t, J, u, U, f, F, A, a, 5, m, M, I, i, v, G, 6, 1, V, q, Q, L, b, g, B, l, P, p, 0, 2, C, H, c, W, h, 7, r, K, w, R, 3, k, O, D, Z, o, z, S, d)

关于scala - 如何在 Scala 中创建一组字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556255/

相关文章:

scala - 如何在scala的情况下模式匹配偶数?

scala - "tee"Scala 流/迭代器

Scala 3 - 使用产品进行泛型编程

Scala:Scala 集合中的 Traversable 和 Iterable 特征有什么区别?

scala collection.Map 不能添加到

postgresql - 在 scala 框架中支持 PostgreSQL 特定的 array_agg 函数?

algorithm - 需要在 Scala 中实现二进制堆结构的建议

scala - 从Scala并行收集转换为常规收集

java - 使用 JavaConversions 在 java 和 scala 集合之间进行隐式转换

Scala map : mysterious syntactic sugar?