【发布时间】:2011-03-23 02:02:17
【问题描述】:
我想将项目动态添加到数组中。但似乎 Scala 数组和列表由于不可变的特性而没有提供任何动态添加项目的方法。
所以我决定使用 List 数据类型来利用这个 :: 方法来实现这一点。我的代码是这样的
var outList = List(Nil)
val strArray = Array("ram","sam","bam")
for (str<-strArray)
outList = str :: outList
虽然它以某种方式工作,但问题是新字符串预先附加到列表中。但理想的要求是数据的顺序。是的,我知道你在想什么,你可以把最终的结果列表倒过来得到原来的顺序。但问题是它是一个巨大的数组。我相信这不是一个解决方案,尽管它解决了问题。我相信应该有一个简单的方法来解决这个问题......
而我破解 Scala 的原因是学习函数式编码方式。在我看来,拥有 var (可变类型)并动态填充列表并不是解决问题的实用方法。
我该怎么做?
理想情况下,我想在 Scala 中实现类似的功能(在 C# 代码下方)
List<int> ls = new List<int>();
for (int i = 0; i < 100; i++)
ls.Add(i);
【问题讨论】:
标签: scala