小编fue*_*zig的帖子

(怎么样)我可以计算枚举中的项目吗?

当我有类似的东西时,我想到了这个问题

enum Folders {FA, FB, FC};
Run Code Online (Sandbox Code Playgroud)

并希望为每个文件夹创建一个容器数组:

ContainerClass*m_containers[3];
....
m_containers[FA] = ...; // etc.
Run Code Online (Sandbox Code Playgroud)

(使用的地图是更优雅的使用方法:std::map<Folders, ContainerClass*> m_containers;)

但回到我原来的问题:如果我不想对数组大小进行硬编码,有什么方法可以找出文件夹中有多少项?(不依赖于例如FC列表中的最后一项,ContainerClass*m_containers[FC+1]如果我没有弄错的话就会允许这样的事情.)

c++ enumeration count

91
推荐指数
3
解决办法
10万
查看次数

Python:根据索引集从列表中选择子集

我有几个列表具有相同数量的条目(每个列表指定一个对象属性):

property_a = [545., 656., 5.4, 33.]
property_b = [ 1.2,  1.3, 2.3, 0.3]
...
Run Code Online (Sandbox Code Playgroud)

并列出具有相同长度的标志

good_objects = [True, False, False, True]
Run Code Online (Sandbox Code Playgroud)

(可以很容易地用等效的索引列表代替:

good_indices = [0, 3]
Run Code Online (Sandbox Code Playgroud)

什么是产生新的列表的最简单的方法property_asel,property_bsel...只包含或者由指定的值True项或索引?

property_asel = [545., 33.]
property_bsel = [ 1.2, 0.3]
Run Code Online (Sandbox Code Playgroud)

python list

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

有没有办法强制apache返回404而不是403?

有没有办法如何配置Apache Web服务器为某些特定目录返回404(未找到)错误代码而不是403(禁止),我想禁止访问?

我找到了一些建议使用mod_rewrite的解决方案,例如

RewriteEngine On
RewriteRule ^.*$ /404 [L]
Run Code Online (Sandbox Code Playgroud)

由于发送404而不是403的目的是混淆目录结构,这个解决方案太具有启发性,因为它重定向到某个不同的位置,这使得最初访问的目录显然确实存在.

apache security mod-rewrite http-status-code-403 http-status-code-404

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

返回退出代码而不关闭shell

我想从另一个脚本中调用的BASH脚本返回退出代码,但也可以直接调用.它大致如下:

#!/bin/bash
dq2-get $1
if [ $? -ne 0 ]; then
  echo "ERROR: ..."
  # EXIT HERE
fi
# extract, do some stuff
# ...
Run Code Online (Sandbox Code Playgroud)

现在在行EXIT HERE中脚本应该退出并返回退出代码1.问题是

  • 我无法使用return,因为当我忘记使用脚本而不是调用它时,返回将不会退出,并且脚本的其余部分将被执行并弄乱.
  • 我无法使用exit,因为这会关闭shell.
  • 我不能使用漂亮的技巧kill -SIGINT $$,因为这不允许返回退出代码.

有没有可行的替代方案我忽略了?

bash return exit return-code

17
推荐指数
3
解决办法
8213
查看次数

std :: map <T,bool>,计数值为true

我有一张地图:

std::map<std::string, bool> all_triggers_didfire;
Run Code Online (Sandbox Code Playgroud)

我填写它,最后想获得真实值的数量.以下代码有效:

int count_did_fire = std::count_if(
  all_triggers_didfire.begin(), 
  all_triggers_didfire.end(), 
  [](std::pair<std::string, bool> p){return p.second;}
);
Run Code Online (Sandbox Code Playgroud)

有没有比为此定义lambda表达式更简单的方法?

c++ lambda dictionary countif

14
推荐指数
2
解决办法
2932
查看次数

在PHP中使用HTTP的HEAD命令最简单的方法是什么?

我想将超文本传输​​协议的HEAD命令发送到PHP中的服务器以检索标头,但不是内容或URL.我该如何以有效的方式做到这一点?

可能最常见的用例是检查死网链接.为此,我只需要HTTP请求的回复代码而不是页面内容.用PHP获取网页可以很容易地使用file_get_contents("http://..."),但是为了检查链接,这是非常低效的,因为它下载整个页面内容/图像/无论如何.

php protocols http head

13
推荐指数
3
解决办法
9075
查看次数

CSS:旋转图像并对齐左上角

我试图使用CSS变换旋转图像,使其在周围保持正确对齐div,即图像的左上角应与图像的左上角对齐div.

正如你在这里看到的那样( - >点击[rotate]),这不起作用.有没有办法来解决这个问题?

(请注意,我将在在线图像查看器中使用它,因此我无法对旋转图像的偏移进行硬编码.有很多类似的问题,但我没有找到这个确切的问题.)

css layout image rotatetransform alignment

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

类型错误:不能腌制 dict_items 对象

为什么

pickle.dumps({}.items())
Run Code Online (Sandbox Code Playgroud)

TypeError: can't pickle dict_items objects在 Python 3.5.2 中失败,但在 Python 2.7.12 中没有?

“腌制”字典

pickle.dumps({})
Run Code Online (Sandbox Code Playgroud)

适用于两个 Python 版本(并且在 Python 2.7.12 中提供与上述命令相同的输出)。

serialization python-2.x python-3.x dill

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

找到匹配所有给定字符串的最简单正则表达式

是否存在可以从一组字符串生成正则表达式(可能仅限于简化语法)的算法,以便对与正则表达式匹配的所有可能字符串的求值重现初始字符串集?

使用非常"复杂"的语法(包括任意重复,断言等)为正则表达式的语法找到这样的算法可能是不现实的,所以让我们从一个只允许OR子串的简化算法开始:

foo(a|b|cd)bar应该匹配fooabar,foobbarfoocdbar.

例子

鉴于一组琴弦h_q1_a,h_q1_b,h_q1_c,h_p2_a,h_p2_b,h_p2_c,算法所需的输出会h_(q1|p2)_(a|b|c).

鉴于一组琴弦h_q1_a,h_q1_b,h_p2_a,算法所需的输出会h_(q1_(a|b)|p2_a).请注意,这h_(q1|p2)_(a|b)正确的,因为它扩展到4个字符串,包括h_p2_b,不在原始字符串集中.

用例

我有一长串标签,这些标签都是通过将子串组合在一起而生成的.我希望有一个紧凑的输出来指示列表中的标签,而不是打印庞大的字符串列表.由于完整列表是以编程方式生成的(使用一组有限的前缀和后缀),我希望紧凑符号(可能)比初始列表短得多.

((简化的)正则表达式应该尽可能短,虽然我对实际解决方案比对最好的解决方案更感兴趣.琐碎的答案当然只是连接所有字符串,如A | B | C | D | ...然而,没有帮助.)

regex string algorithm pattern-matching

9
推荐指数
2
解决办法
2465
查看次数

在顶层的makefile中输出

我在这样设置一个变量makefile:

SOMEVAR = foo
Run Code Online (Sandbox Code Playgroud)

此makefile稍后包含一些其他makefile实际构建程序的方法:

include generic/Makefile.common
Run Code Online (Sandbox Code Playgroud)

因此,在第一个中没有定义构建目标makefile,它只设置变量,然后由通用泛型makefile用于执行实际的包构建.

现在我知道在使用时我应该小心foo,所以为了提醒自己,我想在使用makefile设置make进程时打印一条警告消息.问题是我不能echo在变量定义之后插入命令,因为我们还没有在那里构建一些东西.

有没有解决方案(比打印消息的假目标更优雅,会破坏设置变量和建筑物的分离)?

warnings makefile

7
推荐指数
2
解决办法
9153
查看次数