小编Jer*_*rks的帖子

如何使用wxPython检测窗口何时最小化?

我正在写一个小的wxPython实用程序.

我想使用一些事件来检测用户何时最小化应用程序/窗口.

我环顾四周,但没有找到像我可以绑定的wx.EVT_MINIMIZE这样的事件.

有人知道可以用来检测这个的方法吗?

python wxpython minimize

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

Clojure:如何将函数应用于哈希映射中的条目子集?

我不是要Clojure并试图弄清楚如何做到这一点.

我想创建一个新的哈希映射,哈希映射中的一个键子集将一个函数应用于元素.做这个的最好方式是什么?

(let 
   [my-map {:hello "World" :try "This" :foo "bar"}]
   (println (doToMap my-map [:hello :foo] (fn [k] (.toUpperCase k)))
Run Code Online (Sandbox Code Playgroud)

这应该会产生类似的地图

{:hello "WORLD" :try "This" :foo "BAR"}
Run Code Online (Sandbox Code Playgroud)

clojure hashmap map

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

Go:有没有办法避免执行完整的sort.Interface切片结构?

如果我在Go中有一个数组/切片结构并希望使用sort包对它们进行排序,我觉得我需要实现包含3个方法的整个排序接口:

  • 莱恩
  • 交换

似乎Len和Swap应该始终具有相同的实现,无论数组中的struct类型如何.

有没有办法避免每次都使用Len和Swap,或者这只是Go中缺少泛型的限制?

sorting interface go

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

在Python中仅从逗号分隔字符串中提取某些字段的最快方法

假设我有一个字符串,其中包含来自数据库或电子表格的数据,采用逗号分隔格式.

例如:

data = "hello,how,are,you,232.3354,good morning"
Run Code Online (Sandbox Code Playgroud)

假设这些"记录"中可能有200个字段.

我有兴趣查看此记录的某些字段.Python中最快的方法是什么?

最简单的方法是:

fields = data.split(",")
result = [fields[4], fields[12], fields[123]]
Run Code Online (Sandbox Code Playgroud)

有没有更快的方法来做到这一点,利用以下事实:

  1. 您只需要为结果分配一个包含3个元素和3个字符串对象的列表.
  2. 到达字段123后,您可以停止扫描数据字符串.

我曾尝试使用重复调用来编写一些代码来查找跳过传递的逗号,但如果最后一个字段在字符串中太远,则会比基本的拆分解决方案慢.

我正在处理数百万条记录,所以任何加速都会受到欢迎.

python csv performance split

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

在Ksh和Perl中并行执行任务的最佳方法是什么?

我有一个大型的C++项目,我需要在没有并行make的平台上构建(比如Linux上的make -j).服务器有6个CPU,我想手动进行并行构建.

我可以为大约300个目标文件生成这样的任务列表.我使用Makefile进行依赖性检查和增量构建:

make -f Makefile obj1.o

make -f Makefile obj2.o

make -f Makefile obj3.o ...

我如何并行执行这些任务,使用Ksh和Perl一次运行的任务不超过6个?(Java或Python不可用:-()

parallel-processing perl ksh makefile

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

如何弹出最小化的wxPython窗口

我有一个实用程序,我希望它不时弹出到屏幕的前面,以请求用户输入.

(我知道这是非常烦人的一般行为,但在这种情况下我有充分的理由.)

我找到了RequestUserAttention方法,可用于更愉快的用户输入请求,但在我的情况下,我只是想让它弹出一个窗口.

也许甚至莫代尔在所有其他窗口之上.

这里的平台是XP,如果这有任何区别.

wxpython popup

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

Go:您可以将范围与切片一起使用但获取引用吗?(迭代)

假设我想更改数组中所有对象的值。我更喜欢范围语法,而不仅仅是命名为循环。

所以我尝试:

type Account struct {
   balance int
}
type AccountList []Account
var accounts AccountList
...
....
// to init balances
for _,a := range( accounts ) {
    a.balance = 100
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 a 是 AccountList 中条目的副本,因此我们仅更新该副本。

这确实有效,因为我需要它:

for a := range( accounts ) {
  accounts[a].balance = 100
}
Run Code Online (Sandbox Code Playgroud)

但该代码在 for 循环内有一个额外的查找。

有没有办法创建一个迭代器来获取对 AccountList 中结构的引用?

iteration reference range go

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

有没有办法在Go中获取源代码文件名和行号?

在C/C++中,您可以使用__FILE____LINE__访问当前文件和行号.

Go提供类似的东西吗?

debugging go

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

有没有办法知道在Linux中传递给__free_hook的指针的大小?

我想跟踪大型应用程序当前分配的内存量.

我发现我可以在malloc/free/realloc周围安装钩子以拦截内存分配调用:

http://man7.org/linux/man-pages/man3/malloc_hook.3.html

所以我要跟踪的是分配的总字节数 - 释放的总字节数.

现在问题是free只接受指针而不是大小.

In可以在我的malloc钩子中创建我自己的map或hashmap,它跟踪为该指针分配了多少内存,但这会导致相当多的开销.

有没有办法(即使它有点像黑客)在调用free时使用ptr的大小(使用默认的g ++ malloc)获得Linux(64位)的大小?

c linux malloc free hook

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

const set&的问题.编译器/ STL错误或非​​便携式使用?

房子里有语言律师吗?

以下代码应该编译吗?

include <set>

bool fn( const std::set<int>& rSet )
{
  if ( rSet.find( 42 ) != rSet.end() ) return true;
  return false;
}
Run Code Online (Sandbox Code Playgroud)

在其中一个平台(Sun Workshop)上,这不会编译.它报告find函数返回一个迭代器和返回const_iterator的end函数,并且它们在这些类型之间没有有效的比较运算符.

以下编译:

include <set>

bool fn( std::set<int>& rSet )
{
  if ( rSet.find( 42 ) != rSet.end() ) return true;
  return false;
}
Run Code Online (Sandbox Code Playgroud)

c++ standards stl const set

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