V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  FH0  ›  全部回复第 1 页 / 共 1 页
回复总数  17
2023-11-01 14:24:02 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
最后代码优化成了这样,先暂时用着。
```c++
int main(int argc, char **argv) {
auto [mainCli, beforeSubcommand] = makeCli(argc);

const auto subcommands = {
serve(),
readData(),
writeData(),
setBaudRate(),
clearAutoResponse(),
getAutoResponse(),
addAutoResponse(),
clearTimedResponse(),
getTimedResponse(),
addTimedResponse(),
get12vStatus(),
set12vStatus(),
getFpgaVersion(),
updateFpga(),
};
unordered_map<App *, function<void()>> subcommandMap;
for (const auto &[cli, callback] : subcommands) {
mainCli->add_subcommand(cli);
subcommandMap.emplace(&*cli, callback);
}

CLI11_PARSE(*mainCli, argc, argv);

beforeSubcommand();

for (auto *key : mainCli->get_subcommands()) {
subcommandMap[key]();
}

return 0;
}
```
2023-10-31 14:24:15 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
@netabare 我找到了一个项目用了很多的函数式思想,还是想探索一下。github.com/arximboldi/ewig
2023-10-31 01:03:40 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
2023-10-30 18:20:18 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
@netabare 好吧,C++ 函数式的讨论确实比较少,我似乎走上了一条荒无人烟的道路。
2023-10-30 15:26:40 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
@luassuns return this 确实可以,但是方法都是封装在一个类里面的,这是面向对象的思想。我想尝试一下函数式,就是纯函数、副作用、柯里化、函子那些。
2023-10-30 13:58:58 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
```c++
compose(
newCli,
serve,
readData,
setBaudRate,
);
```


```c++
cli.map(serve)
.map(readData)
.map(setBaudRate);
```
2023-10-30 13:56:31 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
@s7964926 确实,用了 callback 就可以省略后面的 if 了。那前面的代码能不能用函数式处理一下。比如:
2023-10-30 13:45:42 +08:00
回复了 FH0 创建的主题 C++ 熟悉函数式和 C++ 的老哥有偿帮忙解决个问题
@buf1024 兄弟,你这个没用到函数式吧
2021-08-03 19:36:13 +08:00
回复了 sky3hao 创建的主题 随想 岁月匆匆, 不知不觉已经过了而立之年, 却没有立起来
如果是迷茫的话,那么评论的凡尔赛只会伤人的心。比如一个人说他穷得只能天天吃泡面了,因此痛苦,但对于吃不上饭的人说他凡尔赛。是的,200 万对于绝大多数人而言不是一个小数目,但对于拥有它的人而言,就像我们所习惯拥有的一样罢了。一些小事可以帮助建立自信,良好的作息,适当的健身,做一次美味美观的饭菜。而完成一个目标,要习惯承受痛苦,情绪是毒药,枯燥是常态。
```bash
echo -e "A.py\nB.py\nC.py\nD.py" | awk -F '.py' '{printf "\"" $1 "\","}' | sed 's|,$||'
```
本来静态编译和动态编译就是互补的,都有优点和缺点,看取舍。go 的主战场不是嵌入式,在嵌入式上能用就行。
我也好奇。比如说有一个公司通过免费发送有价值的邮件,然后在邮件中插入广告来盈利。一些邮箱 / 插件提供了去除邮件中广告的功能。这怎么算
2020-10-21 16:35:36 +08:00
回复了 ibireme 创建的主题 C 写一个最快的 JSON Library
star 了,c 语言难以企及的高度。想知道楼主做什么工作。
@codehz lambda 确实方便,就是套娃 lambda 之后缩进不美观
2020-04-02 13:00:57 +08:00
回复了 css3 创建的主题 程序员 shell 脚本中的变量,如何跨脚本使用?
var1=$var1 bash b\.sh
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4880 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.