c++ - C++ 中的 Lua 表模拟
问题描述
在 Lua(我知道的唯一一种语言)编码多年后,我开始学习 C++。帮助我,请用 C++ 编写相同的代码
ticker_list="GAZP,SBER,GMKN"
period_muvinga={}
period_muvinga.GAZP=23
period_muvinga.SBER=19
period_muvinga.GMKN=20
for sec in string.gmatch(ticker_list,"%a+") do
local period=period_muvinga[sec]
end
主要问题是 C++ 中 Lua 表的 100% 类似。
解决方案
好的,这是用c++编写的等效代码
#include <iostream>
#include <map>
#include <string>
int main ()
{
std::map<std::string, int> period_muvinga;
period_muvinga["GAZP"] = 23;
period_muvinga["SBER"] = 19;
period_muvinga["GMKN"] = 20;
// Iterate over all the key,value pairs in map
//
for (const auto & p: period_muvinga)
{
// Extract key from pair
std::string ticker = p.first;
// Extract value from pair
int period = p.second;
std::cout << ticker << " = " << period << std::endl;
}
return 0;
}
正如其他人所说,std::map
与lua表不完全相同。因此,取决于您想要做什么,std::map
可能会或可能不会满足您的需求
推荐阅读
- c# - JSonConvert 自定义转换器反序列化问题 / System.StackoverflowException
- python - 无法使用scrapy从一个页面转到另一个页面
- node.js - 有没有其他方法可以在给定时间后删除猫鼬中的数据
- c++ - 如何使用椭圆方程绘制椭圆?
- julia - 索引 Julia DataFrame 时感叹号的含义是什么?
- tkinter - tkinter 中的多处理未在 output_box 中获得文本输出
- html - 如何在表格中使用 HTML 单词对齐
- algorithm - 如何快速判断两个双组相交与否?
- c# - 如何将 Panel 的单个实例多次添加到单个 FlowLayoutPanel(C# 桌面应用程序)?
- android - 如何在 Android 中制作自定义 DialogFragment?