Tag: closures

python函数如何访问自己的属性?

有可能从函数范围内访问python函数对象的属性? 例如,让我们有 def f(): return SOMETHING f._x = "foo" f() # -> "foo" 现在,如果我们想让_x属性内容“foo”返回,那么SOMETHING是什么? 如果甚至可能(简单地说) 谢谢 更新: 我也想下面的工作: g = f del f g() # -> "foo" 更新2: 声明这是不可能的(如果是这种情况),以及为什么比提供一种方式更令人满意,比如用一个不同的对象而不是一个函数

JavaScript范围和closures

我试图把头绕在closures(有一个笑话在那里),我跑过这个: (function () { /* do cool stuff */ })(); 这个怎么用? 将函数放在父项中的目的是什么? 为什么之后的空洞?

封闭的确切定义是什么?

我已经阅读了关于stackflow和其他来源的封闭的话题,还有一件事仍然令我困惑。 从技术上来说,我已经能够将闭包简单地归结为包含函数代码和该函数中绑定variables值的数据集合。 换句话说,从我的理解来说,从技术上讲,下面的C函数应该是一个闭包: int count() { static int x = 0; return x++; } 然而,我所读的一切似乎意味着闭包必须以某种方式将函数作为第一类对象传递。 另外,通常似乎暗示封锁不是程序性编程的一部分。 这是一个解决scheme与解决的问题过度相关的情况,还是我误解了确切的定义?

java web应用程序的closures钩子

当java web应用程序停止时,或者当tomcat停止时,我需要优先保存一些数据。 如何才能做到这一点? 编辑:如果我使用jvm关机挂钩的任何缺点?

匿名recursionPHP函数

是否有可能是recursion和匿名的PHP函数? 这是我试图让它工作,但它不通过函数名称。 $factorial = function( $n ) use ( $factorial ) { if( $n <= 1 ) return 1; return $factorial( $n – 1 ) * $n; }; print $factorial( 5 ); 我也意识到这是一个不好的方法来实现阶乘,这只是一个例子。

如何创buildPython lambdas列表(在列表理解/ for循环中)?

我想从Python中的常量列表创build一个lambda对象的列表; 例如: listOfNumbers = [1,2,3,4,5] square = lambda x: x * x listOfLambdas = [lambda: square(i) for i in listOfNumbers] 这将创build一个lambda对象的列表,但是,当我运行它们时: for f in listOfLambdas: print f(), 我希望能打印出来 1 4 9 16 25 相反,它打印: 25 25 25 25 25 似乎lambda都被给了错误的参数。 我做错了什么,有没有办法解决这个问题? 我在Python 2.4我想。 编辑:多一点尝试的东西,这样的想法: listOfLambdas = [] for num in listOfNumbers: action = lambda: square(num) […]

jQuery美元符号($)作为函数参数?

我了解JavaScriptclosures,我已经看到这在原生JS完成: (function () { // all JS code here })(); 但是,添加jQuery spice是做什么的? (function ($) { // all JS code here })(jQuery);

在JavaScript中closures – 什么是错的?

我试图用闭包做下一步: function func(number) { var result = number; var res = function(num) { return result + num; }; return res; } var result = func(2)(3)(4)(5)(3); console.log(result); // 17 我需要接收2 + 3 + 4 + 5 + 3 = 17但是我得到一个错误:未捕获TypeError:数字不是一个函数

在Java 7中closures

什么是closures? 它应该被包含在Java 7中。 (闭包讨论了包含在Java 7中,但最终没有包括在内。)任何人都可以请我提供一些可靠的参考,从哪里我可以学习关于闭包的东西?

使用匿名函数作为参数访问外部variables

基本上我使用这个方便的function来处理数据库行(密切关注PDO和/或其他东西) function fetch($query,$func) { $query = mysql_query($query); while($r = mysql_fetch_assoc($query)) { $func($r); } } 有了这个function,我可以简单地做到: fetch("SELECT title FROM tbl", function($r){ //> $r['title'] contains the title }); 假设我现在需要连接var中的所有$r['title'] (这只是一个例子)。 我怎么能这样做? 我在想这样的事情,但不是很优雅: $result = ''; fetch("SELECT title FROM tbl", function($r){ global $result; $result .= $r['title']; }); echo $result;