我使用Scrooge生成了如下所示的Th裂隙接口代码:
struct UserInfo {
1: i64 userId,
2: string name
}
service userservice {
UserInfo getUserById(1:i64 userId)
}Scrooge将从上面的IDL文件:def getUserById(userId: Long): Future[UserInfo]生成此方法。
然而,在scala中,可能没有的值可以通过选项数据类型来表示。因此,在Scala中生成的节约代码看起来可能类似于def getUserById(userId: Long): Future[Option[UserInfo]]。虽然该选项是scala特定的,但是否仍然可以让Scrooge支持这一点?
非常感谢!
发布于 2015-06-10 09:05:22
您可以使用list<T>来模拟选项。而且,由于选项可以被看作是0\\1元素的集合,所以从语义的角度来看,这个替换也是正确的。
要将此列表转换为Scala代码中的选项,可以使用headOption方法。
https://stackoverflow.com/questions/30043804
复制相似问题