【问题标题】:Append to Some(Set[ActorRef])附加到一些(Set[ActorRef])
【发布时间】:2017-05-01 19:13:56
【问题描述】:

我必须使用一种方法来读取哈希映射并返回与某个键关联的值。此方法返回 Some(Set[ActorRef]) 并且我想将一个元素(Actor)添加到这个集合(对于那个键)。

我使用 Set[Int] 在 REPL 上进行了如下实验:

y2 = y.getOrElse("None")

这让我明白了:

y2: Any = Set(8)

但是,我不知道如何附加到这个集合。

我尝试了以下方法,但没有成功

y2 ++ 12 
<console>:11: error: value ++ is not a member of Any

提前致谢。

【问题讨论】:

  • 您遇到了问题,因为 getOrElse("None") 正在尝试使用 Set 类型解析 String 类型(您传入的“None”),导致类型为 Any。你不能在 Any 上使用 Set 操作

标签: scala akka


【解决方案1】:

我想我明白了:

var z = y.get

scala> z += 12

scala> z
res3: scala.collection.immutable.Set[Int] = Set(8, 12) 

【讨论】:

    【解决方案2】:

    如果您确定它是Some,那么为什么它返回Option 而不仅仅是Set[ActorRef]?如果没有,那么您需要决定在None 的情况下该怎么做。例如。如果你想在这种情况下返回单个元素Set

    val y: Option[Set[ActorRef]] = // some code
    y.getOrElse(Set.empty) + anActorRef
    

    【讨论】:

      猜你喜欢
      • 2014-10-24
      • 2023-03-09
      • 1970-01-01
      • 2016-09-04
      • 2021-04-15
      • 2021-03-18
      • 2017-07-31
      • 2018-07-23
      • 1970-01-01
      相关资源
      最近更新 更多