Scala:查找列表中特定位置的某些元素

时间:2020-08-21 13:11:47

标签: list scala options

我有一个不同元素的列表,其中一个元素是类型选项。如何确定该位置是否有元素?我尝试将其包装在Some()函数中,但是,这不会让我知道是否不存在。

我有一个Cookie订单的csv文件。我已经正确地分割了每一行(每个订单),创建了一个名为Order的案例类,但是列表中的第三个条目包含可选的附加注释。我需要知道它是否为空(无)或一些并显示注释;格式为some(“无论顺序是什么”)或无。

csv文件中的每个条目都以字符串形式输入到此函数中, def process(string entry): Order,我将其制成val行并使用.split(,)方法进行拆分,并放入列表中。

val line = entry.split(",").toList

列表仍然是字符串。订单的参数是string,string,Some [string]。

这是我尝试过的,但没有显示“无”。

val cookieOrder = Order(line(0), line(1), Some(line(2))

如果没有第三个元素,我对订单的预期结果是

"some string", "some string", None

分割前的一行示例是

“”“牛奶,伦敦,”“”

谢谢

1 个答案:

答案 0 :(得分:0)

所以假设这行看起来像这样:

val str = "milk,London, " // Note the trailing white space.

然后您可以执行以下操作:

val line = str.trim.split(',')
// line: Array[String] = Array(milk, London)

val opt = line.lift(2)
// opt: Option[String] = None