小编Pau*_*aul的帖子

用Sinon.js拼写一个类方法

我试图使用sinon.js存根方法但我收到以下错误:

Uncaught TypeError: Attempted to wrap undefined property sample_pressure as function

我也去了这个问题(在sinon.js中拼写和/或模拟一个类?)并复制并粘贴代码但我得到了同样的错误.

这是我的代码:

Sensor = (function() {
  // A simple Sensor class

  // Constructor
  function Sensor(pressure) {
    this.pressure = pressure;
  }

  Sensor.prototype.sample_pressure = function() {
    return this.pressure;
  };

  return Sensor;

})();

// Doesn't work
var stub_sens = sinon.stub(Sensor, "sample_pressure").returns(0);

// Doesn't work
var stub_sens = sinon.stub(Sensor, "sample_pressure", function() {return 0});

// Never gets this far
console.log(stub_sens.sample_pressure());
Run Code Online (Sandbox Code Playgroud)

这是上面代码的jsFiddle(http://jsfiddle.net/pebreo/wyg5f/5/),以及我提到的SO问题的jsFiddle(http://jsfiddle.net/pebreo/9mK5d/1/).

我确保在jsFiddle甚至jQuery 1.9 的外部资源中包含sinon .我究竟做错了什么?

javascript node.js sinon

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

是否有一个等效于wx.FutureCall的PyQT(在窗口初始化和绘制后调用一个函数)?

我打算在打开主窗口后延迟设置变量.我试过showEvent(),但这不起作用.我知道在wxPython中有wx.FutureCall方法在这种情况下使用:

class MyFrame(wx.Frame): 

 def __init__(..frame init parms.., ..your init parms..): 
   wx.Frame.__init__(..frame init parms..) 
   self.Show() 
   wx.FutureCall(500,self.OnLoad)   #1/2 seconds from now to call OnLoad() 

 def OnLoad(self, ..your init parms..): 
   ..your init code.. 
   self.Refresh() 
Run Code Online (Sandbox Code Playgroud)

我的问题是:在我的PyQT主窗口进行初始化并最终显示后,如何延迟执行某些操作?我怎样才能做到这一点:

class MyWindow(QtGui.QMainWindow):
  def __init__(self,parent=None):

    QtGui.QWidget.__init__(self,parent)

    ... init stuff here...

    self.FutureCall(500,self.OnLoad)

  def OnLoad(self,event):
    ... my stuff here...
Run Code Online (Sandbox Code Playgroud)

提前致谢! - 保罗

python qt qt4 pyqt

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

在eval()中使用变量名字典

我知道eval()对于这样的事情非常有用:

x = 3
y = 2
myformula = "x + y"
print eval(myformula)
>>> 5
Run Code Online (Sandbox Code Playgroud)

但是,如果我不想对变量名和值进行硬编码,而是使用字典怎么办?

mydict = {'x':3, 'y':2, 'z':5}
myformula = "x + y + z"
print eval(myformula)
>>> 10
or,
mydict = {'a':100, 'b':10, 'c':1}
myformula = "(a * b) - c"
print eval(myformula)
>>> 999
Run Code Online (Sandbox Code Playgroud)

我查找了如何将变量分配给变量,但无法将其他答案应用于我的问题。我仍然希望保留myformula字符串的符号。任何帮助,将不胜感激。

谢谢。


伊利诺伊州保罗· 芝加哥

python

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

标签 统计

python ×2

javascript ×1

node.js ×1

pyqt ×1

qt ×1

qt4 ×1

sinon ×1