cartographer_common_lua_parameter_dictionary
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了cartographer_common_lua_parameter_dictionary,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1951字,纯文字阅读大概需要3分钟。
内容图文
class FileResolver 读lua参数文件程序接口
参考cartographer_common_configuration_file_resolver.md
class LuaParameterDictionary 获取lua参数表
说明: 读取 lua参数 相关文件,形成lua 参数表,实现过程用到cpp调用lua 知识,比较繁杂,有兴趣的读者可以参考: cpp_call_lua.md 文件。 或参考链接:https://www.cnblogs.com/chevin/p/5884657.html 系统学习。
当然,也可以忽略该部分具体lua相关知识,仅仅了解LuaParameterDictionary 类中各函数用法。为达到此目标,可以查看LuaParameterDictionary test文件或以下简单说明。
构造函数:
LuaParameterDictionary(const std::string& code,std::unique_ptr<FileResolver> file_resolver);
code: 需要包含的文件夹:
FileResolver: 参数文件路径+文件名
举例: code = "text(
include "map_builder.lua"
MAP_BUILDER.use_trajectory_builder_2d = true
return MAP_BUILDER)text";
file_resolver =
::absl::make_unique< ::cartographer::common::ConfigurationFileResolver>(
std::vector<std::string>{
std::string(::cartographer::common::kSourceDirectory) +
"/configuration_files"});
LuaParameterDictionary 主要函数用法如下:
code="return {
a= 100,
b= "john",
c= 3.14,
d= true,
e= { f= 100, g = 200},
h= 300
}"
LuaParameterDictionary dict(code,make_unique<FileResolver>())
LuaParameterDictionary sub_dict = dict.GetDictionary("e")
auto a = dict.GetInt("a"); //a = 100
auto b = dict.GetString("b"); //b = "john"
auto c = dict.GetDouble("c"); //c = 3.14
auto d = dict.GetBool("d"); //d = true
std::vector<std::string> keys = dict.GetKeys(); //keys = {"f","g"}
string str = dict.ToString();
/*str = "{ a= 100, b= "john", c= 3.14, d= true, e= { f= 100, g = 200}, h= 300 }" */
code = "return { 1., 2., 3. }"
LuaParameterDictionary dict(code,make_unique<FileResolver>())
vector<double> values = dict.GetArrayValuesAsDoubles();
// values = { 1., 2., 3. }
code = "return { { a = 1 }, { b= choose(false, 1, 0) } }"
vector<std::unique_ptr<LuaParameterDictionary>> values =
dict.GetArrayValuesAsDictionaries();
values[0]->GetInt("a")// == 1
values[0]->GetInt("b")// == 1
原文:https://www.cnblogs.com/heimazaifei/p/12435867.html
内容总结
以上是互联网集市为您收集整理的cartographer_common_lua_parameter_dictionary全部内容,希望文章能够帮你解决cartographer_common_lua_parameter_dictionary所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。