我有如下所示的ruby脚本:
require 'google/protobuf'
Google::Protobuf::DescriptorPool.generated_pool.build do
add_message "google.protobuf.Any" do
optional :type_url, :string, 1
optional :value, :bytes, 2
end
end
module Google
module Protobuf
Any = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.protobuf.Any").msgclass
end
end
查找调用为我提供了nil
类。为什么会给我nil
课? google.protobuf.Any
在上面的代码段中定义。
运行ruby any_pb.rb
时遇到的错误是:
any_pb.rb:15:in `<module:Protobuf>': undefined method `msgclass' for nil:NilClass (NoMethodError)
from any_pb.rb:14:in `<module:Google>'
from any_pb.rb:13:in `<main>'
环境:Suse s390x Big Endian