为了标记我的软件版本,我使用git tags. 我希望我的软件为用户显示版本,并执行一些迁移代码,这取决于当前使用的版本。
因此,我尝试使用 git-hookpre-commit来生成文件 version.txt
#!/bin/sh
# Only show most recent tag without trailing commit information
git describe --tags | awk "{split(\$0,a,\"-\"); print a[1];}" > version.tmp
# Only proceed if version number has actually changed (i.e. a new tag has been created)
if [ ! $(cmp --silent version.tmp version.txt) ]
then
echo $?
echo Updating version.txt.
mv -f version.tmp version.txt
git add version.txt
fi
Run Code Online (Sandbox Code Playgroud)
我输入了命令
$ git add --all
$ git tag -a 1.0
$ …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种基于布尔参数反转条件表达式的方法.当然,这可以通过以下方式完成:
public int do(bool b)
{
if (b)
return this.a ? 1 : 0;
else
return this.a ? 0 : 1;
}
Run Code Online (Sandbox Code Playgroud)
但是,使整个功能成为一个单行是有帮助的.所以,在逻辑表达式而言,我正在寻找一个操作∘结合a和b的方式,
a∘b = a
a∘(¬b)=¬a
问题:是否存在这样的逻辑运算(或运算组合)?