小编Toh*_*iko的帖子

在launch.json中为Python指定参数

我想在我的launch.json文件中指定用于调试的参数.我知道我可以做到以下几点:

"args": ["--arg1","value","--arg2"]
Run Code Online (Sandbox Code Playgroud)

但是,我有一个很长的参数列表,格式化为空格分隔的字符串.像这样:"--arg1 value --arg2".我尝试指定:

"args": ["--arg1 value --arg2"]
Run Code Online (Sandbox Code Playgroud)

但那没用.现在我的工作流程是获取参数字符串,通过python脚本运行它,将字符串更改为列表并将其复制粘贴到我的launch.json文件中.有一个更好的方法吗?

visual-studio-code

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

莳萝vs cPickle速度差异

我试图序列化数千个对象,其中一些对象是lambda对象.

既然cPickle不适用于lambdas,我尝试过使用dill.然而,当解开(或开膛(?))时,计算速度的下降超过10倍.从源头看,似乎内部dill使用pickle可能是速度下降的原因.

对于我来说,还有另一个选项可以结合两个模块的最佳选择吗?

编辑:最显着的速度下降是在unpickleing期间.

python lambda pickle dill

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

log2的幂为2的整数

是否有一种有效的方法来查找数字的log2,假设它是2的幂.我知道明显的方法,如有一张桌子或

for (log2=0;x!=1;x>>=1,log2++);
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更有效/更优雅的方式.

c++ algorithm math logarithm

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

突出显示当前活动窗口

是否有一种简单的方法可以更改活动窗口的背景颜色,以轻松地区分哪个窗口具有输入?

我知道hiwin-mode(https://github.com/masutaka/hiwin-mode)。但是,此模式很难很好地掌控头盔。

我也知道color-theme-buffer-local(https://github.com/vic/color-theme-buffer-local),我想知道是否可以对其进行定制以实现我想要的功能。

emacs

6
推荐指数
2
解决办法
1456
查看次数

组织模式折叠将空格视为内容

免责声明:我是org-mode的新手.

在组织模式中,我有时会添加额外的空行,以便在扩展时使不同任务之间的分离更加清晰.像这样:

** Task 1

*** Subtask 1.1
    text text
*** Subtask 1.2

** Task 2
Run Code Online (Sandbox Code Playgroud)

问题是,当我折叠"任务1"(通过在其行上按C-tab)时,子任务及其内容被正确折叠,但"子任务1.2"的内容也被折叠(即,其下的新行) ).

如果我按"子任务1.2"的线C-标签同时,消息"SUBTREE(没有孩子)"被印刷和"子任务1.2"被正确地折叠.

这是正常的吗?我可以以某种方式纠正这种行为,以便不折叠空内容吗?

emacs folding org-mode

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

覆盖使emacs真的很慢

我使用hide-show来折叠文本的某些部分,并使用下面的代码显示隐藏线的数量.

但是,当文件足够大(例如C++或LaTeX)并且我崩溃所有区域(从而创建了数十个叠加层)时,Emacs变得非常缓慢到无法使用的程度.即使将标记从一行移动到另一行也需要半秒钟左右.

有没有办法解决这个问题?

(defun display-code-line-counts (ov)
    (overlay-put ov 'display
                 (format "...%d..."
                         (count-lines (overlay-start ov)
                                      (overlay-end ov))
                         ))
    (overlay-put ov 'face '(:foreground "red" :box (:line-width 1 :style none)))
  )

(setq hs-set-up-overlay 'display-code-line-counts)
Run Code Online (Sandbox Code Playgroud)

编辑:原因是emacs变得非常慢是因为linum minor模式创建了数千个(隐藏)叠加层,这些叠加层与hide-show一起折叠.有没有办法来解决这个问题?还是更好的行号模式?

emacs performance show-hide

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

匹配的文本没有括号括起来

我还在学习Perl,如果这是一个显而易见的问题,请道歉.有没有办法匹配括号内未包含的文本?例如,搜索foo仅匹配第二行.

(bar foo bar)
bar foo (
bar foo 
   (bar) (foo)
)
Run Code Online (Sandbox Code Playgroud)

perl parentheses

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

来自C数组的STL数组无需复制

有没有办法在STL容器中封装固定大小的C数组?换句话说,假设我有一个arrC大小的C数组size,我想要一个容器(不涉及复制),它使用arrC但实现了常用的函数和迭代器.这是我正在考虑的用例:

int arrC[] = {1,2,3,4,5,6};
auto myarr = c_array(arrC, 6);   // The data is not saved internally here, just the pointer and the size
for (auto itr=myarr.begin();itr!=myarr.end();++itr)
     std::cout << *itr << std::endl;
Run Code Online (Sandbox Code Playgroud)

当然,我知道这可能是不安全的,因为我可以释放arrC.

编辑:我需要这个的原因是因为我的C++为其他语言(包括Python)提供了一个C接口,我希望能够处理传递给我的C++函数的数据,而不必复制它.

c++

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

创建一个字符串流重复项

我知道我无法复制a stringstream,但是我想知道是否可以复制它,以便可以使用相似的输出说明符创建两个字符串。

像这样

std::stringstream s1;
s1 << std::scientific << std::setprecision(4);
s1 << 0.01;

// Later on I want to create s2 given s1
std::stringstream s2;
// Copy formatting specifiers from s1 to s2, so that the effect is 
// s2 << std::scientific << std::setprecision(4);
s2 << 0.02;
Run Code Online (Sandbox Code Playgroud)

我的原因是我正在编写一个接受字符串流的函数,并且我想在修改字符串流之前了解某些输出的宽度。

我已经看完了stringstream这里的大部分问题,但找不到这个特定案例的答案。

c++ std stringstream

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

Git:防止提交临时代码

我经常在文件中忘记一些临时代码(用于调试或其他方式),然后提交它们并将这些提交推送到我的远程存储库中。当然,可以通过还原更改来解决此问题,但是我的提交变得混乱不堪,“忘记删除xxx”。

我养成了用“ TEMP”注释标记我的临时代码的习惯。但是是否可以自定义git,以便在文档中找到该单词时会返回警告(或错误)消息?

谢谢

git

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

隐藏私人成员的最佳方法

我在头文件中有以下代码

class Bar {
   public: 
      void public_foo();
   private:  
      void private_foo();
};
Run Code Online (Sandbox Code Playgroud)

该实现隐藏在源文件中

void Bar::public_foo(){
   private_foo();
}
void Bar::private_foo(){
   // Some more stuff
}
Run Code Online (Sandbox Code Playgroud)

我想在头文件中看不到私有函数.做这个的最好方式是什么?我知道两种方式:

1)private_foo创建这样的非成员函数

void private_foo(Bar* this){ /* ... */ }
Run Code Online (Sandbox Code Playgroud)

public_foo像这样称呼:private_foo(this).这对我来说不是很吸引人,因为它不是特别的OO编程.

2)使用这样的隐藏实现类

// In header
class Bar {
   public: 
      virtual void public_foo();
      virtual ~Bar() { };
};
Bar* CreateBar();

// In Source
class Bar_impl : public Bar {
   public:
      void public_foo();
   private:  
      void private_foo();
};

Bar* CreateBar(){
    return new Bar_impl;
}

void …
Run Code Online (Sandbox Code Playgroud)

c++ paradigms

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