从Zed Shaw的" 学习艰难的道路"开始,在练习23中,他谈到了Duff的装置.这是Duff的设备供参考:
int duffs_device(char *from, char *to, int count)
{
{
int n = (count + 7) / 8;
switch(count % 8) {
case 0: do { *to++ = *from++;
case 7: *to++ = *from++;
case 6: *to++ = *from++;
case 5: *to++ = *from++;
case 4: *to++ = *from++;
case 3: *to++ = *from++;
case 2: *to++ = *from++;
case 1: *to++ = *from++;
} while(--n > 0);
}
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
他要求读者:
"创建一组宏,让你可以像这样创建任何长度的设备.例如,如果你想要32个case语句并且不想写出所有这些的话怎么办?你能做一个放在8的宏吗?一次?"
这真让我难过,我觉得我只需要朝着正确的方向轻推.任何帮助将不胜感激!
我试图安装autoclose.vim到Vim.我注意到我没有~/.vim/plugin文件夹,所以我不小心制作了一个~/.vim/plugins文件夹(注意插件中的额外's').然后我添加au FileType python set rtp += ~/.vim/plugins到我的.vimrc中,因为根据我的阅读,这将允许我自动获取该文件夹中的脚本.
在我意识到自己的错误并从'插件'中取出额外的's'之前,插件没有为我加载.我很困惑,因为我的运行时路径中甚至没有定义这个新路径.我基本上想知道为什么插件加载时我加载~/.vim/plugin但不是~/.vim/plugins?