我正在写一个小的wxPython实用程序.
我想使用一些事件来检测用户何时最小化应用程序/窗口.
我环顾四周,但没有找到像我可以绑定的wx.EVT_MINIMIZE这样的事件.
有人知道可以用来检测这个的方法吗?
我不是要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) 如果我在Go中有一个数组/切片结构并希望使用sort包对它们进行排序,我觉得我需要实现包含3个方法的整个排序接口:
似乎Len和Swap应该始终具有相同的实现,无论数组中的struct类型如何.
有没有办法避免每次都使用Len和Swap,或者这只是Go中缺少泛型的限制?
假设我有一个字符串,其中包含来自数据库或电子表格的数据,采用逗号分隔格式.
例如:
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)
有没有更快的方法来做到这一点,利用以下事实:
我曾尝试使用重复调用来编写一些代码来查找跳过传递的逗号,但如果最后一个字段在字符串中太远,则会比基本的拆分解决方案慢.
我正在处理数百万条记录,所以任何加速都会受到欢迎.
我有一个大型的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不可用:-()
我有一个实用程序,我希望它不时弹出到屏幕的前面,以请求用户输入.
(我知道这是非常烦人的一般行为,但在这种情况下我有充分的理由.)
我找到了RequestUserAttention方法,可用于更愉快的用户输入请求,但在我的情况下,我只是想让它弹出一个窗口.
也许甚至莫代尔在所有其他窗口之上.
这里的平台是XP,如果这有任何区别.
假设我想更改数组中所有对象的值。我更喜欢范围语法,而不仅仅是命名为循环。
所以我尝试:
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 中结构的引用?
在C/C++中,您可以使用__FILE__和__LINE__访问当前文件和行号.
Go提供类似的东西吗?
我想跟踪大型应用程序当前分配的内存量.
我发现我可以在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位)的大小?
房子里有语言律师吗?
以下代码应该编译吗?
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)