小编Mr.*_*ges的帖子

Babel 插件 - 带索引的成员访问

我正在写一个 babel 插件。我遇到一个需要使用索引运算符的地方。这是我想要得到的代码a[Symbol.something](b),但是,我似乎找不到办法来做到这一点。我尝试过做这样的事情:

types.callExpression(
    types.memberExpression(types.Identifier('a'), 
        types.memberExpression(types.Identifier('Symbol'), types.Identifier('something'))
    ),
    [types.Identifier('b')]
)
Run Code Online (Sandbox Code Playgroud)

但是,它会抛出错误TypeError: Property property of MemberExpression expected node to be of a type ["Identifier","PrivateName"] but instead g ot "MemberExpression"。我用谷歌搜索了我的问题,但我似乎找不到解决方法。

javascript node.js babeljs

4
推荐指数
1
解决办法
355
查看次数

无限嵌套地图与变体

所以,我正在尝试制作无限可嵌套的地图,我可以在其中使用字符串,整数,布尔等.

这是我试过的:

struct NMap;
struct NMap : std::map<std::string, std::variant<NMAP*, std::string, std::any>> {};
// ...
NMap* something;
something["lorem"]["ipsum"] = "Test";
                  ^ - No such operator []
Run Code Online (Sandbox Code Playgroud)

这是合乎逻辑的,std::variant没有[]运营商.无论如何std::variant在Nestable地图中使用?

c++ c++17

3
推荐指数
1
解决办法
75
查看次数

在不知道类型的情况下流std :: any

我想在std::any不知道价值的情况下进行流式传输.

我知道有std::any.type(),但我不知道如何使用它std::any_cast<type>(thatAny)

这是我试过的代码:

std::cout << std::any_cast<a.type()>(a) << std::endl;
Run Code Online (Sandbox Code Playgroud)

c++ c++17

3
推荐指数
1
解决办法
254
查看次数

标签 统计

c++ ×2

c++17 ×2

babeljs ×1

javascript ×1

node.js ×1