FH0 最近的时间轴更新
FH0

FH0

V2EX 第 432974 号会员,加入于 2019-07-30 15:08:00 +08:00
FH0 最近回复了
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|,$||'
```
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5375 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 09:20 · PVG 17:20 · LAX 01:20 · JFK 04:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.