如何将嵌套消息添加到已创建的消息中? (在斯卡拉)

时间:2016-09-12 17:15:09

标签: scala protocol-buffers scalapb

添加嵌套消息后,我收到主消息中的嵌套消息,什么都没有。

您可以在日志中看到它:1和2.列表0的大小!

有什么想法吗?

message PacketPlayers
{
    repeated PacketPlayer players = 1;
}

enter image description here

1 个答案:

答案 0 :(得分:1)

ScalaPB案例类是不可变的。在您的示例中,addPlayers不会修改它所调用的实例,而是返回具有其他播放器的PacketPlayer的新实例。

在构造新对象时可以避免可变数组和变量。例如:

val players = onlinePlayers.keySet.map(makePacketPlayer)
val packetPlayers = PacketPlayers().withPlayers(players)