2017-02-22 14 views
2

Я успешно установил RProtoBuf, но у меня проблема, когда я пытаюсь читать и читать файлы .proto. Ниже сеанс захвата вопроса у меня возникли:RProtoBuf не загружается rprotobuf

команда
> library(RProtoBuf) 
> proto.dir<-"~/dev/riak_pb/src" 
> dir(proto.dir,pattern = "\\.proto$",full.names = TRUE) 
[1] "/home/stephen/dev/riak_pb/src/riak_dt.proto"  
[2] "/home/stephen/dev/riak_pb/src/riak_kv.proto"  
[3] "/home/stephen/dev/riak_pb/src/riak.proto"   
[4] "/home/stephen/dev/riak_pb/src/riak_search.proto" 
[5] "/home/stephen/dev/riak_pb/src/riak_ts.proto"  
[6] "/home/stephen/dev/riak_pb/src/riak_yokozuna.proto" 

> ls("RProtoBuf:DescriptorPool") 
[1] "rexp.CMPLX"     "rexp.REXP"     
[3] "rexp.STRING"     "rprotobuf.HelloWorldRequest" 
[5] "rprotobuf.HelloWorldResponse" "tutorial.AddressBook"   
[7] "tutorial.Person"  

реж кажется, говорит он читает 6 прото файлов (правильные), но нет соответствующих сообщений в DescriptorPool. Разрешения на чтение файлов .proto устанавливаются как чтение/запись для всех.

Любые идеи, что я делаю неправильно, с благодарностью получили!

ответ

2

Я не вижу команду на самом деле читать прото-файлы.

Попробуйте readProtoFiles(file=...), как и в модульных тестах.

+0

В документации говорится, что вы можете прочитать каталог .proto-файлов с помощью команды: dir (proto.dir, pattern = "\\. Proto $", full.names = TRUE), или я читаю это неправильно? – Stephen

+0

Где он говорит, что такое «документация» здесь? Можете ли вы связать линию с репо? Я также не нашел такую ​​функцию 'dir()' в каталоге 'R /'. I * do * однако прочитайте '.proto' непосредственно, как указано через' readProtoFiles() '. –

+0

Я просто grep'ed для 'proto.dir'. Предполагаю, вы имеете в виду [весь этот пункт] (https://github.com/eddelbuettel/rprotobuf/blob/master/vignettes/RProtoBuf-intro.Rnw#L106-L153). Он по-прежнему говорит, что использует 'readProtoFiles()' и использует 'dir()' для _list_ файлов. –

Смежные вопросы