Questions tagged «scala-option»

4
用Scala中的Option包装Java中的null返回方法?
假设我有一个方法,session.get(str: String): String但是您不知道它会返回字符串还是null,因为它来自Java。 在Scala中,有没有更简单的方法来解决此问题session.get("foo") == null?也许有些魔术适用ToOption(session.get("foo")),然后我可以像这样在Scala中对待它 ToOption(session.get("foo")) match { case Some(_) =>; case None =>; }
107 java  scala  scala-option 

4
Scala上的类型不匹配以进行理解
为什么这种构造会在Scala中导致类型不匹配错误? for (first <- Some(1); second <- List(1,2,3)) yield (first,second) <console>:6: error: type mismatch; found : List[(Int, Int)] required: Option[?] for (first <- Some(1); second <- List(1,2,3)) yield (first,second) 如果我用列表切换Some,它可以很好地编译: for (first <- List(1,2,3); second <- Some(1)) yield (first,second) res41: List[(Int, Int)] = List((1,1), (2,1), (3,1)) 这也可以正常工作: for (first <- …

2
如何将Option [X]的Scala集合转换为X的集合
我开始探索Scala,而我感兴趣的事情Option之一就是能够消除null相关错误的类型和前景。 但是,我还无法弄清楚如何将的列表(或其他集合)转换Option[String]为的集合String(显然会过滤掉的任何值None)。 换句话说,我如何从中得到: List[Option[Int]] = List(Some(1)) ...对此: List[Int] = List(1) 我正在使用Scala 2.8,如果这对答案有影响。

1
如何从Scala的Collection中的索引中获取期权?
是否有一种方法,仅尝试使用Scala集合API在尝试通过索引获取元素时在List中获取Option? 我正在寻找与此功能等效的功能,它存在吗? def optionalValue[T](l: List[T], index: Int) = { if (l.size < (index+1)) None else Some(l(index)) } 谢谢

3
是否有Scala身份功能?
如果我有类似a的东西List[Option[A]]并且想要将其转换为a List[A],则标准方法是使用flatMap: scala> val l = List(Some("Hello"), None, Some("World")) l: List[Option[java.lang.String]] = List(Some(Hello), None, Some(World)) scala> l.flatMap( o => o) res0: List[java.lang.String] = List(Hello, World) 现在o => o只是一个身份功能。我本以为可以采取一些措施: l.flatMap(Identity) //return a List[String] 但是,由于您无法生成一个,所以我无法执行此操作object。我尝试了几件事无济于事。有人有这样的工作吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.