小编Jon*_*han的帖子

我如何制作这款球拍代码DRYer?

我正在将一个Python脚本移植到Racket作为学习经验,我有这个功能:

(define (check-status)
    (define git [find-executable-path "git"])
    (define-values (ckot out in err)
        (subprocess #f #f #f git "checkout" "-q" "master"))
    (define-values (local lout lin lerr)
        (subprocess #f #f #f git "rev-parse" "@"))
    (define-values (remote rout rin rerr)
        (subprocess #f #f #f git "rev-parse" "@{u}"))
    (define-values (merge-base mbout mbin mberr)
        (subprocess #f #f #f git "merge-base" "@" "@{u}"))
    (display-lines (port->lines mbout))
   (define ports '(ckot out in err local lout lin lerr remote rout rin rerr merge-base mbout mbin mberr))
   (map (lambda …
Run Code Online (Sandbox Code Playgroud)

scheme racket

7
推荐指数
1
解决办法
225
查看次数

如何在shell脚本中执行不区分大小写的for循环

我正在尝试创建一个循环来创建目录并将文件移动到这些目录中,以便我可以按字母顺序对内容进行排序。这是我所拥有的:

for i in a b c d e f g h i j k l m n o p q r s t u v w x y z
    do
        mkdir $i
        mv -i $i*.* ./$i/
done
ls
Run Code Online (Sandbox Code Playgroud)

问题是mv这个循环中的命令没有捕获大写文件名,我不想为大写和小写文件名创建目录。解决办法是什么?或者,如果您不想直接出来告诉我解决方案,我在哪里可以找到它?

我在谷歌上查看了一些东西,但没有找到可以使用的解决方案。我对 shell 脚本比较陌生,所以请解释您可能建议的任何解决方案,以便我理解并且以后不必问类似的问题。

bash shell for-loop zsh case-insensitive

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

无法在C++中定义++运算符,这里有什么问题?

我正在研究Bjarne Stroustrup的C++编程语言,我坚持其中一个例子.这是代码,除了空格差异和注释,我的代码与书中的代码相同(第51页).

enum class Traffic_light { green, yellow, red};
int main(int argc, const char * argv[])
{
    Traffic_light light = Traffic_light::red;
//    DEFINING OPERATORS FOR ENUM CLASSES
//    enum classes don't have all the operators, must define them manually.
    Traffic_light& operator++(Traffic_light& t) {
        switch (t) {
            case Traffic_light::green:
                return t = Traffic_light::yellow;
            case Traffic_light::yellow:
                return t = Traffic_light::red;
            case Traffic_light::red:
                return t = Traffic_light::green;
        }
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然而,当我clang++ -std=c++11 -stdlib=libc++ -Weverything main.cpp在Mac OS X 10.9上编译它时,我收到以下错误:

main.cpp:24:9: …
Run Code Online (Sandbox Code Playgroud)

c++ enums operator-overloading switch-statement c++11

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

在 zsh 中如何绑定键盘快捷键来运行最后一个命令?

我经常发现自己想要重复一个命令,虽然!!很有用,但我想将其绑定到 ctrl-w 或类似的东西。有没有办法做到这一点?

编辑:我知道向上箭头可以实现我想要的功能,但是我不想离开主行。作为一名狂热的 Vim 用户,我知道了坚持使用 Home 键的价值。

我查看了这篇关于添加访问命令的快捷方式的文章info,并尝试从中推断出一些内容,但没有成功。Zsh 对我大喊大叫,说 zle 不活跃什么的。

我知道这将依赖于我的 shell 的配置方式的知识,因此下面我粘贴了一些相关代码,以及整个 .zshrc 和点文件的链接。

# oh-my-zsh plugins. zsh-aliases and drush are custom plugins.
plugins=( git z tmux web-search colored-man zsh-aliases drush)
ZSH_TMUX_AUTOSTART=true
#... $PATH, start background process (clipboard integration for tmux, 
# glances system monitor), history options, editor, all truncated for brevity.
# use vim mode
bindkey -v
#show insert/normal mode in prompt
function zle-line-init zle-keymap-select {
    RPS1="${${KEYMAP/vicmd/NORMAL}/(main|viins)/INSERT}"
    RPS2=$RPS1
zle reset-prompt …
Run Code Online (Sandbox Code Playgroud)

zsh keyboard-shortcuts oh-my-zsh

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