我想知道如何将Protobuf Any Type转换为原始的Protobuf消息类型,反之亦然.从Message到Any的Java很容易:
Any.Builder anyBuilder = Any.newBuilder().mergeFrom(protoMess.build());
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能解析出任何回到原始信息(例如"protoMess"的类型)?我可以解析一下流上的所有内容,只是为了重读它,但那不是我想要的.我希望有这样的转变:
ProtoMess.MessData.Builder protoMessBuilder = (ProtoMess.MessData.Builder) transformToMessageBuilder(anyBuilder)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?它已经为Java实现了吗?该的Protobuf语言指南说,有包并解压方法,但有没有在Java中.先感谢您 :)
我正在使用实体框架,我需要检查名称="xyz"的产品是否存在...
我想我可以使用Any(),Exists()或First().
对于这种情况,哪一个是最好的选择?哪一个性能最好?
谢谢,
米格尔
所以,正如标题所说,我想要一个合适的代码来关闭我的python脚本.到目前为止,我已经使用过input('Press Any Key To Exit'),但是这样做会产生错误.我想要一个只关闭脚本而不使用错误的代码.
有没有人有想法?谷歌给了我输入选项,但我不希望它使用此错误关闭:
Traceback (most recent call last):
File "C:/Python27/test", line 1, in <module>
input('Press Any Key To Exit')
File "<string>", line 0
^
SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud) 我想从个人资料字典中获取地址,但我收到错误"输入任何内容?没有下标成员"
var address:[[String : Any]] = [["Address": "someLocation", "City": "ABC","Zip" : 123],["Address": "someLocation", "City": "DEF","Zip" : 456]]
var profile:[String : Any] = ["Name": "Mir", "Age": 10, "Addresses": address]
profile["Addresses"][0] <-----------------type any? has no subscript members
Run Code Online (Sandbox Code Playgroud)
我该如何解决并获取地址?非常感谢.
name1: any;
name2: any[];
this.name1 = this.name2;
Run Code Online (Sandbox Code Playgroud)
name1: any;
name2: any[];
this.name2 = this.name1;
Run Code Online (Sandbox Code Playgroud)
为什么打字机允许
any数据类型可以访问any[]数据类型.与any[]数据类型一样可以访问数据类型any吗?和哪一个是最好用?并且如果数据类型仅仅是一个物体(未阵列)等string or number or object or any,那么为什么any[ ]将接受该对象类型,而不显示任何运行时或编译时错误?.
有没有简单的方法来检查jquery选择器中的任何元素是否满足条件?例如,要检查表单中的任何文本框是否为空(一种伪,而不是真正的jquery):
$('input.tb').any(val().length == 0);
Run Code Online (Sandbox Code Playgroud)
注意:我知道可以使用辅助方法完成,只是好奇,如果可以在一个语句中.
您好SQLAlchemy专家,这里有一个棘手的问题:
我正在尝试编写一个解析为以下内容的查询:
SELECT * FROM MyTable where my_column LIKE ANY (array['a%', 'b%'])
Run Code Online (Sandbox Code Playgroud)
使用SQLAlchemy:
foo = ['a%', 'b%']
# this works, but is dirty and silly
DBSession().query(MyTable).filter("my_column LIKE ANY (array[" + ", ".join(["'" + f + "'" for f in token.tree_filters]) + "])")
# something like this should work (according to documentation), but doesn't (throws "AttributeError: Neither 'AnnotatedColumn' object nor 'Comparator' object has an attribute 'any'"
DBSession().query(MyTable).filter(MyTable.my_column.any(foo, operator=operators.like)
Run Code Online (Sandbox Code Playgroud)
有解决方案吗
在Postgres中,ANY并且SOME在谓词表达式的右侧使用时是同义词.例如,这些是相同的:
column = ANY (SELECT ...)
column = SOME (SELECT ...)
Run Code Online (Sandbox Code Playgroud)
这在此处记录:
http://www.postgresql.org/docs/9.1/static/functions-subquery.html#FUNCTIONS-SUBQUERY-ANY-SOME
我已观察ANY并SOME至少得到这些SQL DBMS的支持:
我可以安全地假设所有这些方言(以及其他方言)都作为同义词处理ANY,SOME或者在任何/某些DBMS中两个关键字之间是否存在细微差别?
我在SQL92定义中找到了这个:
<quantifier> ::= <all> | <some>
<all> ::= ALL
<some> ::= SOME | ANY
Run Code Online (Sandbox Code Playgroud)
这并没有说出ANY和的语义SOME.稍后在文档中,仅<some>引用,而不是两个关键字.我怀疑在NULL处理方面可能存在细微差别,例如,至少在一些DBMS中.任何/某些指向明确声明的指针是否可以被假定是值得欢迎的.
我有这样的.proto档案
syntax = "proto3";
import "google/protobuf/any.proto";
message Request {
google.protobuf.Any request_parameters = 1;
}
Run Code Online (Sandbox Code Playgroud)
如何创建Request对象并填充其字段?我试过这个:
import ma_pb2
from google.protobuf.any_pb2 import Any
parameters = {"a": 1, "b": 2}
Request = ma_pb2.Request()
some_any = Any()
some_any.CopyFrom(parameters)
Request.request_parameters = some_any
Run Code Online (Sandbox Code Playgroud)
但是我有一个错误:
TypeError: Parameter to CopyFrom() must be instance of same class: expected google.protobuf.Any got dict.
Run Code Online (Sandbox Code Playgroud)
UPDATE
在提示@Kevin之后,我向.proto文件中添加了新消息:
message Small {
string a = 1;
}
Run Code Online (Sandbox Code Playgroud)
现在代码如下所示:
Request = ma_pb2.Request()
small = ma_pb2.Small()
small.a = "1"
some_any = …Run Code Online (Sandbox Code Playgroud) 我现在多次遇到的一种模式是,需要通过在其上映射一些测试并查看是否通过任何或所有元素来检查值列表。典型的解决方案是使用方便的内置函数all和any.
问题是这些评估是串行的。在许多情况下,这将是多快平行的过程被完整的评估,一旦任何线程发现一个“假”的all或“真”的any。我很确定不能使用 Control.Parallel 实现短路行为,因为它需要进程间通信,而且我还没有理解足够接近 Control.Concurrent 的任何地方来实现它。
这是数学中非常常见的模式(例如 Miller-Rabin Primality),所以我觉得有人可能已经为此提出了解决方案,但出于显而易见的原因,在 google 上搜索“parallel or/and/any/all on list” haskell" 不会返回许多相关结果。
any ×10
python ×3
arrays ×2
alpha ×1
angular ×1
anyobject ×1
concurrency ×1
dictionary ×1
exists ×1
haskell ×1
javascript ×1
jquery ×1
key ×1
pack ×1
python-2.7 ×1
selector ×1
sql ×1
sqlalchemy ×1
subquery ×1
swift ×1
testing ×1
types ×1
typescript ×1
unpack ×1