📄 numberlist.cpp
字号:
#include "..\..\..\Library\Platform\VL_Console.h"
#include "..\..\..\Library\Data\Data\VL_Data_List.h"
#include "..\..\..\Library\Data\Grammar2\Combinator\VL_CpKernel.h"
#include "..\..\..\Library\Data\Grammar2\Combinator\VL_CpString.h"
using namespace vl;
using namespace vl::platform;
using namespace vl::grammar;
using namespace vl::collection;
VL_List<VInt , true> Convert(const VL_CpPair<VInt , VL_CpList<VInt>>& Input)
{
VL_List<VInt , true> Result;
Result.Add(Input.First);
VL_CpList<VInt>::Node::Ptr Current=Input.Second.Head;
while(Current)
{
Result.Add(Current->Data);
Current=Current->Next;
}
return Result;
}
void NumberList_Main()
{
VUnicodeString Input=L"123,+456,-789";
VL_List<VInt , true> Result;
GetConsole()->WriteLine(L"现在使用Combinator Parser将字符串\""+Input+L"\"分割成数字列表:");
VL_CpParser<PCWChar , VL_List<VInt , true>> Parser = Convert <<= _sInt + **(_Str(L",") > _sInt);
Result=Parser.Parse(Input.Buffer()).Head->Data.First;
for(VInt i=0;i<Result.GetCount();i++)
{
GetConsole()->WriteLine(Result[i]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -