小编Jos*_*ino的帖子

PHP的array_map包括键

有没有办法做这样的事情:

$test_array = array("first_key" => "first_value", 
                    "second_key" => "second_value");

var_dump(array_map(function($a, $b) { return "$a loves $b"; }, 
         array_keys($test_array), 
         array_values($test_array)));
Run Code Online (Sandbox Code Playgroud)

但是,而不是调用,array_keysarray_values直接传递$test_array变量?

所需的输出是:

array(2) {
  [0]=>
  string(27) "first_key loves first_value"
  [1]=>
  string(29) "second_key loves second_value"
}
Run Code Online (Sandbox Code Playgroud)

php functional-programming

179
推荐指数
7
解决办法
23万
查看次数

从脚本中获取virtualenv的bin文件夹路径

我正在使用带有django项目的virtualenvwrapper,该项目具有自动编写一些配置文件的管理任务,因此用户只需要

./manage.py generate_configuration > much_nice.conf
Run Code Online (Sandbox Code Playgroud)

然后将文件移动到其他位置.其中一个生成的配置文件是启动芹菜工作者的supervisord的任务.我得到的问题是,我不知道如何输出芹菜可执行文件的路径bin文件夹内的virtualenv中的.基本上,我想要输出命令

which celery
Run Code Online (Sandbox Code Playgroud)

一个选项是使用sys.executable,获取文件夹(这似乎是binvirtualenv 的文件夹),就是这样......但我不确定.

virtualenv有没有任何方法来获取路径本身?

python django virtualenv virtualenvwrapper

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

使用"break"打破"for"循环被认为是有害的?

几天前我开始了一个快速的开源项目,当一些伙伴查看svn上的代码时,其中一个告诉我breakfor循环中使用语句被认为是有害的,不应该这样做.

但他补充说,我会在Linux内核源代码的循环break内找到几个语句for,但这只是因为只有Linus Torvalds和Chuck Norris被允许使用它而没有其他人.

你怎么看?我看到在使用没有问题break一个内for循环.在我看来,模拟break使用布尔变量或类似的东西的行为增加了许多不必要的开销,并使代码不那么简单.

而且,没有比较的余地goto,因为break不能随意改变程序的流程从一个点到另一个谎言goto.

c++ loops for-loop goto break

22
推荐指数
5
解决办法
6万
查看次数

使用Sass将父选择器附加到末尾

好吧,假设我有以下传统的CSS

.social-media { /* ... */ }
.social-media .twitter { /* ... */ }
.social-media .facebook { /* ... */ }
ul.social-media { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

所以,我尝试用SCSS这样做:

.social-media {

    /* ... */

    .twitter { 
        /* ... */
    }
    .facebook {
        /* ... */
    }

    // Here's the problem:
    ul& {
        /* ... */
    }
}
Run Code Online (Sandbox Code Playgroud)

最后一部分不起作用,因为似乎&符号应该只出现在选择器的开头.有解决方法吗?

sass

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

如果我们有boost :: bind,那么使用boost :: mem_fn是什么意思?

我正在查看C++技术报告1中包含的Boost库,并尝试了解每个库的功能.

我刚刚完成了一个例子boost::mem_fn,现在我想知道使用它的意义何在而不是更好boost::bind.据我所知,它们都返回一个指向成员函数的函数对象.我发现mem_fn这么有限,以至于我找不到使用它会比使用它更好的场景bind.

我错过了什么吗?有没有绑定不能取代mem_fn的情况?

c++ boost bind function-pointers

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

重载operator <<时,C++流作为参数

我正在尝试编写自己的日志记录类并将其用作流:

logger L;
L << "whatever" << std::endl;
Run Code Online (Sandbox Code Playgroud)

这是我开始使用的代码:

#include <iostream>

using namespace std;


class logger{
public:
    template <typename T>
    friend logger& operator <<(logger& log, const T& value);
};

template <typename T>
logger& operator <<(logger& log, T const & value) {
    // Here I'd output the values to a file and stdout, etc.
    cout << value;
    return log;
}

int main(int argc, char *argv[])
{
    logger L;
    L << "hello" << '\n' ; // This works
    L << "bye" << …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading stream endl

10
推荐指数
2
解决办法
3590
查看次数

类构造函数的boost :: shared_ptr的默认值

假设我有类似的课程

class A{
    public:
    A(int a, boost::shared_ptr<int> ptr){
        // whatever!
    }
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,该ptr的默认值是多少?我希望能够使用创建该类的实例

A myA(5);
Run Code Online (Sandbox Code Playgroud)

当然我知道我可以用一个参数创建另一个构造函数,但我正在寻找类似的东西

A(int a, boost::shared_ptr<int> ptr = WAT?)
Run Code Online (Sandbox Code Playgroud)

可能吗?目前我正在使用双构造方式,但这样做会很棒.

c++ boost smart-pointers multiple-constructors

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

用于将实现与.h文件中的标题分隔开的脚本

有时,在处理小类时,将.cpp文件中的实现分开是很麻烦的,所以我将所有代码放在头文件中(孩子们,不要这样做).

然而,最终这些课程变得越来越长,我必须做出我一开始没有做的分离.

事实是,这是一个机械过程,可以通过脚本或类似的东西完美地完成,我相信那里的人已经想到了这一点.

那么,你知道任何可以获得.h文件的脚本,实现了所有的函数体,然后返回一个剥离的.h文件和一个很好的.cpp文件吗?

c++ header

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

Matlab,生成并绘制分布在三角形内的点云

我正在尝试生成一个二维点(均匀)在三角形内分布的云.到目前为止,我已经实现了以下目标:

Matlab图

我使用的代码是这样的:

N = 1000;
X = -10:0.1:10;
for i=1:N
    j = ceil(rand() * length(X));
    x_i = X(j);
    y_i = (10 - abs(x_i)) * rand;

    E(:, i) = [x_i y_i];
end
Run Code Online (Sandbox Code Playgroud)

然而,这些点不是均匀分布的,如在左右角中清楚地看到的那样.我该如何改善这一结果?我一直在努力寻找不同的形状,没有运气.

random matlab uniform

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

对于多行标题,Python email.header.decode_header失败

我正在构建一个系统,它使用Python imaplibemail模块从gmail帐户读取电子邮件并获取主题.有时,从Hotmail帐户收到的电子邮件在其标题中有换行符,例如:

In [4]: message['From']
Out[4]: '=?utf-8?B?aXNhYmVsIG1hcsOtYSB0b2Npbm8gZ2FyY8OtYQ==?=\r\n\t<isatocino22@hotmail.com>'
Run Code Online (Sandbox Code Playgroud)

如果我尝试解码该标头,它什么都不做:

In [5]: email.header.decode_header(message['From'])
Out[5]: [('=?utf-8?B?aXNhYmVsIG1hcsOtYSB0b2Npbm8gZ2FyY8OtYQ==?=\r\n\t<isatocino22@hotmail.com>', None)]
Run Code Online (Sandbox Code Playgroud)

但是,如果我用空格替换换行符和制表符,它的工作原理如下:

In [6]: email.header.decode_header(message['From'].replace('\r\n\t', ' '))
Out[6]: [('isabel mar\xc3\xada tocino garc\xc3\xada', 'utf-8'), ('<isatocino22@hotmail.com>', None)]
Run Code Online (Sandbox Code Playgroud)

这是一个错误decode_header吗?如果没有,我想知道我应该知道的其他特殊情况.

python email

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