V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  tabris17  ›  全部回复第 224 页 / 共 327 页
回复总数  6533
1 ... 220  221  222  223  224  225  226  227  228  229 ... 327  
2016-01-20 17:21:18 +08:00
回复了 xzg1993 创建的主题 问与答 v 友们。100 到 200 区间 送什么东西好呢
微信红包
2016-01-20 15:50:59 +08:00
回复了 hqdmy 创建的主题 问与答 为什么很多人要自己搭个 wiki 系统
你要我吧收集来的小黄文存笔记软件里?!
飞利浦的 AC4076 还行
2016-01-19 16:15:58 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@shyling 块作用域解决了闭包的这个问题

for (var i=0; i< 4;i++){
setTimeout(function(){console.log(i);},1);
}

for (let i=0; i< 4;i++){
setTimeout(function(){console.log(i);},1);
}
2016-01-19 13:42:47 +08:00
回复了 lepig 创建的主题 Vagrant 帮忙下载个 VagrantBox,网路太烂了
用百度网盘离线下载就好了
2016-01-19 13:35:09 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@shyling
@musicx

可以试试接触下 javascript ,回过头来你会发现不能修改 upvalue 才是很奇怪的设定
user 表和 auth 表分开
2016-01-19 11:17:52 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@est

function test_closure() {
var x = 1;
function closure1() {
x = 2;
}
function closure2() {
console.log(x);
}
return [closure1, closure2];
}
closures = test_closure();
(closures[0])();
(closures[1])();
2016-01-19 11:12:00 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@est 是啊。 Javascript 、 PHP (通过引用实现)、 Lua 都支持
2016-01-19 10:42:20 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@clino 变了以及不变,两个主语不同,变的是 upvalue 引用的对象,不变的是 upvalue
2016-01-19 10:39:51 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@est

import sys

def test_closure():
----x = 1
----def closure():
--------print sys._getframe().f_back.f_locals
----closure()
----return closure

closure = test_closure()
closure()
2016-01-19 10:34:19 +08:00
回复了 yxaaa123 创建的主题 Java 并发到底是什么意思???
并发就是同时执行多个相同的任务
2016-01-19 10:28:53 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@clino 你给的代码是修改 upvalue 引用的对象而已,不是修改了 upvalue 。 upvalue 本身是不可变的
2016-01-19 10:27:13 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@vanxining
@kkwezard

除了 lua ,其他语言说到闭包只是强调了变量的作用域。但是实际上是有个专门术语来称呼这个 inherit variables from the parent scope 的,就是 upvalue 。

以下摘自 wiki 的闭包词条:

在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。运行时,一旦外部的 函数被执行,一个闭包就形成了,闭包中包含了内部函数的代码,以及所需外部函数中的变量的引用。其中所引用的变量称作上值(upvalue)。
2016-01-19 10:22:04 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@kkwezard lua 的叫法比较学术呗
2016-01-19 10:08:50 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@vanxining 不是,闭包所引用的函数外部变量就称作 upvalue
2016-01-19 10:05:21 +08:00
回复了 tabris17 创建的主题 Python Python 闭包不支持修改 upvalue,有什么替代的解决方案?
@arcas 看来要换 3
1 ... 220  221  222  223  224  225  226  227  228  229 ... 327  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2192 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 57ms · UTC 15:24 · PVG 23:24 · LAX 08:24 · JFK 11:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.