标签: flags

在bash中检查命令行标志的正确方法

在脚本中间,我想检查命令行上是否传递了给定的标志.以下是我想要的,但看起来很难看:

if echo $* | grep -e "--flag" -q
then
  echo ">>>> Running with flag"
else
  echo ">>>> Running without flag"
fi
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

注:我明确地希望列出一个开关/ getopt的所有标志.(在这种情况下,任何这样的东西都会变成完整脚本的一半或更多.而且if的主体也只是设置了一组变量)

bash flags command-line

40
推荐指数
4
解决办法
3万
查看次数

Go:禁用log.Logger?

我有一些使用该log程序包的密集检测代码.现在是关闭日志记录的时候了,我无法确定如何关闭标准记录器.

我错过了什么吗?我应该在进行日志调用之前检查一个标志,还是在生产中将它们注释掉?

logging flags go

38
推荐指数
3
解决办法
2万
查看次数

数据库行中的标志,最佳实践

我出于好奇而问这个问题.基本上我的问题是当你有一个数据库需要一个行条目来做一些像旗帜一样的东西时,最佳做法是什么?一个很好的例子就是堆栈溢出上的徽章,或者bugzilla中的操作系统字段.可以为给定条目设置标志的任何子集.

通常,我做c和c ++工作,所以我的直觉反应是使用无符号整数字段作为一组可以翻转的位......但我知道这不是一个好的解决方案,原因有几个.其中最明显的是比例能力,我可以拥有多少旗帜的硬上限.

我还可以考虑其他几种解决方案,这些解决方案可以更好地扩展,但会出现性能问题,因为它们需要多次选择才能获得所有信息.

那么,做到这一点的"正确"方法是什么?

sql database flags

35
推荐指数
4
解决办法
4万
查看次数

正则表达式'标志'是什么?

MDN说:

要执行"粘性"搜索,从目标字符串中的当前位置开始匹配,请使用y标志.

我不太明白.

javascript regex flags

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

从TextView中删除删除线

我正在使用下面的这一行,以便在我的TextView上设置删除线:

tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
Run Code Online (Sandbox Code Playgroud)

然而,稍后在片段中,如果他们再次单击TextView,我希望删除删除线.我可以使用哪一行代码来简单地让TextView再次显示正常格式的文本?

提前致谢!

flags android textview strikethrough android-listview

34
推荐指数
2
解决办法
2万
查看次数

Enum.HasFlag,为什么没有Enum.SetFlag?

我必须为我声明的每个标志类型构建一个扩展方法,如下所示:

public static EventMessageScope SetFlag(this EventMessageScope flags, 
    EventMessageScope flag, bool value)
{
    if (value)
        flags |= flag;
    else
        flags &= ~flag;

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

为什么不存在一个Enum.SetFlagEnum.HasFlag

另外,为什么这总不起作用?

public static bool Get(this EventMessageScope flags, EventMessageScope flag)
{
    return ((flags & flag) != 0);
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我有:

var flag = EventMessageScope.Private;
Run Code Online (Sandbox Code Playgroud)

并检查它:

if(flag.Get(EventMessageScope.Public))
Run Code Online (Sandbox Code Playgroud)

EventMessageScope.Public真的是EventMessageScope.Private | EventMessageScope.PublicOnly,它返回true.

当它不是,因为Private不公开,它只是一半公开.

同样适用于:

if(flag.Get(EventMessageScope.None))

哪个返回false,除了范围实际上是None(0x0),它应该总是返回true?

c# enums flags

31
推荐指数
5
解决办法
2万
查看次数

关于装配CF(Carry)和OF(溢出)标志

已知CF表示无符号执行,OF表示有符号溢出.那么汇编程序如何区分无符号和有符号数据,因为它只是一个位序列?(通过额外的存储器存储类型信息,或通过位置信息或其他?)这两个标志可以互换使用吗?

x86 assembly flags

28
推荐指数
4
解决办法
3万
查看次数

[Flags]属性真的有什么作用?

申请[Flags]真正做什么?

我知道它会改变行为Enum.ToString,但它会做什么吗?(例如,不同的编译器或运行时行为等)


编辑:是的,我知道它记录了枚举旨在用作按位标志的事实,并且将它应用于位标志更合乎逻辑.我更多地询问具体的行为变化,而不是一般的编程实践.

.net c# enums flags bitflags

28
推荐指数
4
解决办法
3455
查看次数

如何在Java中删除标志

嗨,我需要删除Java中的标志.我有以下常量:

public final static int OPTION_A = 0x0001;
public final static int OPTION_B = 0x0002;
public final static int OPTION_C = 0x0004;
public final static int OPTION_D = 0x0008;
public final static int OPTION_E = 0x0010;
public final static int DEFAULT_OPTIONS =
       OPTION_A | OPTION_B | OPTION_C | OPTION_D | OPTION_E;
Run Code Online (Sandbox Code Playgroud)

我想删除默认选项中的OPTION_E.为什么以下代码不正确?

// remove option E from defaul options:
int result = DEFATUL_OPTIONS;
result |= ~OPTION_E;
Run Code Online (Sandbox Code Playgroud)

java flags

28
推荐指数
3
解决办法
8419
查看次数

编译器版本号的gcc预定义宏是什么?

我遇到了一个gcc v3.4.4的错误,并且在我的代码中添加#ifdef来解决该版本编译器的bug.

什么是GCC编译器预处理器预定义宏来检测编译器的版本号?

flags gcc preprocessor g++ version

27
推荐指数
2
解决办法
2万
查看次数