在 Scala 中创建并填充二维数组
在 Scala 中创建预填充二维数组的推荐方法是什么?我有以下代码:
val map = for {
x <- (1 to size).toList
} yield for {
y <- (1 to size).toList
} yield (x, y)
如何制作数组而不是列表?用 .toArray 替换 .toList 无法编译。有没有比嵌套 for 表达式更简洁或更易读的方法?
What's the recommended way of creating a pre-populated two-dimensional array in Scala? I've got the following code:
val map = for {
x <- (1 to size).toList
} yield for {
y <- (1 to size).toList
} yield (x, y)
How do I make an array instead of list? Replacing .toList with .toArray doesn't compile. And is there a more concise or readable way of doing this than the nested for expressions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Scala 2.7 上,使用 Array.range:
在 Scala 2.8 上,使用 Array.tabulate:
On Scala 2.7, use
Array.range
:On Scala 2.8, use
Array.tabulate
:除其他方式外,您可以使用
Array.range
和map
:或者您可以使用
Array.fromFunction
:Scala 2.8 为您提供了更多选择--查看
Array
对象。 (实际上,这对于 2.7 来说也是一个很好的建议......)Among other ways, you can use use
Array.range
andmap
:Or you can use
Array.fromFunction
:Scala 2.8 gives you even more options--look through the
Array
object. (Actually, that's good advice for 2.7, also....)