c*******v 发帖数: 2599 | 1 http://www.dabeaz.com/coroutines/Coroutines.pdf
状态机不用GOTO/Label, 或者全局变量,用语法糖。
写书的就是这么糊弄事的。
过几天python generator什么的语法糖语法改改,这哥们能再写本书。
这种书就是谁学谁倒霉。
今天学这个明天学那个。
不如早点加入星宿派。 | c*******v 发帖数: 2599 | 2 btw, below is a better example of state machine style task.
It is from some linux kernal code.
static int __init init_nfs_fs(void)
{
int err;
err = register_pernet_subsys(&nfs_net_ops);
if (err < 0)
goto out9;
err = nfs_fscache_register();
if (err < 0)
goto out8;
err = nfsiod_start();
if (err)
goto out7;
err = nfs_fs_proc_init();
if (err)
goto out6;
err = nfs_init_nfspagecache();
if (err)
goto out5;
err = nfs_init_inodecache();
if (err)
goto out4;
err = nfs_init_readpagecache();
if (err)
goto out3;
err = nfs_init_writepagecache();
if (err)
goto out2;
err = nfs_init_directcache();
if (err)
goto out1;
rpc_proc_register(&init_net, &nfs_rpcstat);
err = register_nfs_fs();
if (err)
goto out0;
return 0;
【在 c*******v 的大作中提到】 : http://www.dabeaz.com/coroutines/Coroutines.pdf : 状态机不用GOTO/Label, 或者全局变量,用语法糖。 : 写书的就是这么糊弄事的。 : 过几天python generator什么的语法糖语法改改,这哥们能再写本书。 : 这种书就是谁学谁倒霉。 : 今天学这个明天学那个。 : 不如早点加入星宿派。
|
|