我正在使用ipython,其代码如下所示:
image = zeros(MAX_X, MAX_Y)
# do something complicated to get the pixel values...
# pixel values are now in [0, 1].
imshow(image)
Run Code Online (Sandbox Code Playgroud)
但是,生成的图像始终具有相同的分辨率,大约为(250x250).我认为图像的尺寸是(MAX_X x MAX_Y),但看起来并非如此.如何让ipython为我提供更高分辨率的图像?
我有两个需要了解彼此成员的课程.
在C++中,我使用前向声明.
打字稿需要做什么?
我如何获取由add_custom_command?调用的命令的返回值?
我以为我可以这样做,
macro(mac param1)
execute_process(COMMAND process ${param1} RESULT_VARIABLE res_var)
if(${res_var} ....
endmacro(mac)
add_custom_command(COMMAND mac(param1))
Run Code Online (Sandbox Code Playgroud)
但那不行.我发现即使是平原
macro(mac)
endmacro()
add_custom_command(COMMAND mac())
Run Code Online (Sandbox Code Playgroud)
不起作用.在建设时,sh抱怨:
/bin/sh: 1: Syntax error: end of file unexpected
Run Code Online (Sandbox Code Playgroud)
或者,如果我不使用宏,但称execute_process在add_custom_command本身:
/bin/sh: 1: Syntax error: word unexpected (expecting ")")
Run Code Online (Sandbox Code Playgroud)
我想这add_custom_command不会指望传递宏或内置函数.但是,如何从命令中获取返回值add_custom_command?或者,不那么具体,我怎么能抓住命令add_custom_command失败?
我的问题如下:假设我们有以下文件:
package p;
import javax.swing.*;
public class test extends JPanel {
test(){
super(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我保存文件并编译它.现在,在IntelliJ中,我打开一个表单并尝试添加test它.它不会起作用!我点击'非调色板组件',点击我的表格,然后在打开的对话框中输入p.test我的班级名称(IntelliJ甚至在这里提供名称完成)并选中'自动创建绑定'.单击确定后,没有任何反应.但是 - 如果我把'javax.swing.JButton'作为类名,它就可以了.这太荒谬了.我不明白我做错了什么?测试是否必须实现或覆盖某个功能?我必须修改路径吗?或者我应该把我的电脑从窗户踢出来?
我知道我可以使用$@makefile 中目标内的自动变量来检索当前目标的名称。现在我想知道是否有可能有一个看起来像这样的 makefile:...
$@:
g++ $@ && ./a.out
Run Code Online (Sandbox Code Playgroud)
这个想法是打字make test.cpp应该g++ test.cpp && ./a.out在应该运行的地方make main.cpp运行g++ main.cpp && ./a.out。
我看到通配符可能与我的问题密切相关。但是,像这样的makefile:
*.cpp:
g++ $@ && ./a.out
Run Code Online (Sandbox Code Playgroud)
确实创建了适当的目标,但是make test.cpp使用这样的 makefile运行会产生make: >>test.cpp<< is already up-to-date- 没有进行编译。
当我跑步git pull或者git fetch,我显然检索历史和文件.对于大型项目,这需要很长时间.我想知道如何加快这个过程,对于一些项目我只对源代码而不是历史感兴趣.有没有办法告诉git我只想获取文件的当前快照而不是整个历史记录?
假设我有以下向量:
v1 = c(1,2,3,4)
我需要以成对的方式迭代这个向量,比如(1,2), (2,3), (3,4). 对于python,这里有一个解决这个问题的方法:迭代列表中所有连续的项目对。在 R 中可以实现类似的解决方案吗?
考虑以下情况:
class SomeClass : public QObject
{
Q_OBJECT
private:
unsigned long long someVar;
public:
unsigned long long getSomeVar(){
return someVar;
void threadFunc();
}
Run Code Online (Sandbox Code Playgroud)
threadFunc() 将在一个新线程中调用(你猜对了),它将如下所示:
void SomeClass::threadFunc()
{
++someVar;
// Do stuff...
}
Run Code Online (Sandbox Code Playgroud)
现在,在另一个主题中,我想阅读someVar.我打电话来这样做getSomeVar().但是,需要同步.我怎么做?对于构成的线程somevar,同步并不难.它只会是
void SomeClass::threadFunc()
{
mut.lock();
++someVar;
mut.unlock();
// Do stuff...
}
Run Code Online (Sandbox Code Playgroud)
QMutex mut在类声明中添加了一个.但是我该如何同步getSomeVar()?我不能只说:
unsigned long long getSomeVar(){
mut.lock();
return someVar;
mut.unlock();
}
Run Code Online (Sandbox Code Playgroud)
mut.unlock()因为return之前的陈述而永远不会被召唤.
我知道通常这样的冲突可以通过写作来避免......
unsigned long long getSomeVar(){
QMutex mut;
// mut-constructor calls mut.lock()
return …Run Code Online (Sandbox Code Playgroud) 我尝试在 Windows 上检索路径环境变量。因此,我试过
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
char* path = getenv("Path");
cout << "current path is:" << path << endl;
cin.get(); // program shall be closed when it's finished
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,并为我提供了一条路径。我将它与我的实际路径进行了比较,发现我通过该程序检索到的路径是系统路径。但是,我不想获取系统路径,而是获取用户路径。我试图更改"Path"as 在我的系统上"path"引用用户路径变量而"Path"引用系统路径变量的情况,但getenv似乎忽略了这一点。如何获取系统路径变量的值?
我有一个脚本,可从数据生成matplotlib数字。这些图将保存到磁盘,如下所示:
fig, ax = plt.subplots()
# create the plot
# ...
pickle.dump(ax, open(of, 'wb'))
在另一个脚本中,我想加入其中某些情节。我可以使用以下方式读取数据:
figures = [pickle.load(file) for file in files]
(FWIW,我读回的数字带有类型AxesSubplot。)
到目前为止,一切都很好。现在,我想使用可用图的最大或最小比例将两个(或多个)图形的数据放在一起。由于缺乏经验,我完全不知道如何实现这一目标。我确实发现了有关加入地块的问题,并且共识是首先绘制一个图形。在我的情况下,这将非常困难,因为单个数据集的绘制逻辑已经很复杂。(还有其他原因,为什么每个数据集都应首先自己绘制,然后才可能与其他数据集连接)。
我要加入的图以相同的方式表示其数据-即所有图都是线图或直方图(不确定要如何有效地连接那些图)或QQPlot(请参阅statsmodels.api)。它们可能具有或可能不具有相同的数据大小。
如何加入不同数字的地块?
看看下面的代码:
#include <algorithm>
#include <deque>
#include <iostream>
using namespace std;
int main()
{
deque<int> in {1,2,3};
deque<int> out;
// line in question
move(in.begin(), in.end(), out.begin());
for(auto i : out)
cout << i << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这不会移动任何东西.看一下这里的例子,必须写下这样的行:
move(in.begin(), in.end(), std::back_inserter(out));
Run Code Online (Sandbox Code Playgroud)
这在某种程度上是有道理的,因为std :: move期望它的前两个参数是InputInterators(这里满足),第三个参数是OutputIterator(out.begin()不是).
如果原始代码被执行并且move被传递给不是OutputIterator的迭代器,那么实际会发生什么?为什么C++的类型安全在这里不起作用?为什么输出迭代器的构造委托给外部函数,即为什么不out.backInserter()存在?
考虑以下代码:
class vector{
// ...
vector(int size){ /*...*/ };
vector& operator= (const vector& other){
// ...
}
};
int main(){
vector v1(5), v2(10);
v1 = v2;
}
Run Code Online (Sandbox Code Playgroud)
我operator =应该在这做什么?v1没有足够的容量存储元素v2.从我的角度来看,它可以将自身重新初始化为10的容量,并复制其他向量的元素或抛出异常.我通常选择前一种方法,但越来越多地经常看到后者.哪一个是正确的?
首先,对于长标题感到抱歉,但我无法想出一个更好的方法来表达我的问题.
您好,我对kivy语言文件中的符号感到有点困惑:根据本文档的第一行,前一种语法表示根项,
rootObj:
Button:
....
Run Code Online (Sandbox Code Playgroud)
而后者则表示某种规则:
<rootObj>:
Button:
....
Run Code Online (Sandbox Code Playgroud)
我认为以前的语法描述了我称之为该窗口的根对象作为我的python类,即python-class rootObj应该用作我的root-object example.kv.因此,我不明白括号内语法的目的.但是假设我在目录中有以下文件.
main.py
main.kv
Run Code Online (Sandbox Code Playgroud)
main.py看起来像这样:
def rootObj(Widget):
pass
def MainApp(App):
def build(self):
return rootObj()
if __name__ == "__main__":
MainApp().run()
MainApp().run()
Run Code Online (Sandbox Code Playgroud)
MainApp运行并按照惯例加载main.kv.Kivy调用MainApp.build()并返回我想成为根对象的实例.为了使这个例子有效,我必须采用后一种方法,即在那些奇怪的<>括号中指定根对象的名称.我想知道,为什么我必须指定root-Object的名称MainApp.build().或者我完全错了,kivy采取rootObj()并将其中的内容添加到.kv-file?一些启示会派上用场.
如果我现在将目录结构更改为这样的...
ui
\----main.kv
main.py
Run Code Online (Sandbox Code Playgroud)
...并return rootObj()改为return Builder.load_file("gui/main.kv"),我突然不得不使用无括号语法 - 但我不知道为什么.
有人可以解释一下kivy如何按惯例处理加载并由Builder-object加载的语法和内部的差异?