2017-02-22 7 views
2

私はRProtoBufを正常にインストールしましたが、.protoファイルを読み込みしようとすると問題が発生します。以下は、私が午前問題のセッションキャプチャです:RProtoBuf not loading 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"  

dirコマンドは、それが6つのプロトファイルを読み込むと言っているようだ(修正)が、DescriptorPoolには対応するメッセージはありません。 .protoファイルに対する読み取り権限は、すべてのユーザーに対して読み取り/書き込み権限として設定されます。

私は間違って感謝して何をしていますか?

答えて

2

私は実際にというコマンドが表示されていないので、のprotoファイルを読んでください。

readProtoFiles(file=...)をユニットテストで試してみてください。

+0

ドキュメンテーションによると、dir(proto.dir、pattern = "\\。proto $"、full.names = TRUE)というコマンドを使って.protoファイルのディレクトリを読むことができます。 – Stephen

+0

ここで、「ドキュメンテーション」とは何ですか?レポをライン形式にリンクできますか?私は 'R /'ディレクトリにこのような関数 'dir()'も見つけられません。しかし、 'readProtoFiles() 'で示されているように' .proto'を直接読み込みます。 –

+0

私は 'proto.dir'のためにgrepさ​​れました。私はあなたが[この全パラグラフ](https://github.com/eddelbuettel/rprotobuf/blob/master/vignettes/RProtoBuf-intro.Rnw#L106-L153)を意味すると思います。それは 'readProtoFiles()'を使用するようになっており、 'dir()'を使ってファイルを_list_します。 –