Tag: 发生器

什么时候重新连接signalR occour?

我已经开始与SignalR合作,试图找出Hub Reconnect何时发生。 我没有在网上find任何令人满意的解释。 有人可以解释何时/为什么重新连接?

在Python中有一种方法来检查一个函数是否是一个“生成器函数”之前调用它?

可以说我有两个function: def foo(): return 'foo' def bar(): yield 'bar' 第一个是正常的function,第二个是发电机function。 现在我想写这样的东西: def run(func): if is_generator_function(func): gen = func() gen.next() #… run the generator … else: func() 什么是is_generator_function()的简单实现? 使用types包我可以testinggen是否是一个生成器,但是我希望在调用func()之前这样做。 现在考虑下面的情况: def goo(): if False: yield else: return 调用goo()将返回一个生成器。 我认为pythonparsing器知道goo()函数有一个yield语句,我想知道是否可以轻松地获取这些信息。 谢谢!

Python:生成器expression与收益

在Python中,通过生成器expression式与使用yield语句创build生成器对象有什么不同? 使用收益率 : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) 使用生成器expression式 def Generator(x, y): return ((i, j) for i in xrange(x) for j in xrange(y)) 这两个函数都返回产生元组的元素,例如(0,0),(0,1)等 任何一方的优势? 思考? 谢谢大家! 这些答案中有很多很好的信息和进一步的参考资料!

地图生成器的渐变圆

所以我正在制作一个随机岛屿的地图生成器。 它在发生器的核心部分使用Perlin噪声,然后使用具有梯度的圆来形成岛。 圆方法在地图的中心创build了多个圆,渐变颜色从64开始到0。问题是,此方法正在创build具有圆形边的地图部分的非天生外观。 当一个像素产生珀林噪声时,它将在梯度图上得到该像素,然后用蓝色值对它进行多重比较。 因此,如果珀林噪声在像素1,5上给出一个,而在梯度图上的蓝色值是54,则它将输出54的噪声值。如果像素130,560上的珀林噪声为0.5,并且梯度颜色值为64那么噪声值为32。 这是我得到的: 代码有两个关键点,即perlin位: noise = NoiseGenerator.Noise(x, y); double gradColour = getGradColour(x, y).B; double addedNoise = noise * gradColour; double gradNoise = addedNoise;// – gradColour; 然后是梯度图生成器: public static void DrawGrad(float X, float Y, float R, Color C1, Color C2) { Graphics g = Graphics.FromImage(imgGrad); GraphicsPath path = new GraphicsPath(); path.AddEllipse(X, Y, R, […]

“yield”关键字有什么作用?

Python中yield关键字的用法是什么? 它有什么作用? 例如,我试图理解这个代码1 : def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance – max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist >= self._median: yield self._rightchild 这是来电者: result, candidates = list(), [self] while candidates: node = candidates.pop() distance = node._get_dist(obj) if distance <= max_dist and distance >= min_dist: result.extend(node._values) candidates.extend(node._get_child_candidates(distance, min_dist, max_dist)) […]