小编Apa*_*ear的帖子

具有闭包的For循环保存状态

原谅我,如果这可能是一个noobie问题,但这应该工作不应该吗?

var elems = [1,2,3,4,5]

for (var i = 0; i <elems.length; i++) {
    return (function(e){
        console.log(e)
    })(i);
}
Run Code Online (Sandbox Code Playgroud)

意思是,它应该吐出来

>>node file.js
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这不是这样做的.而是当它在终端中运行时,它会吐出来

>>node file.js
1
Run Code Online (Sandbox Code Playgroud)

我错过了什么?你能详细说明吗?

javascript closures for-loop node.js

6
推荐指数
1
解决办法
539
查看次数

Django urls.py,name参数有什么作用?

我正在探索我的朋友项目,当我浏览urls.py文件时,我注意到了这一点:

    url(r'^apply/$', contact.as_view(), name='careers_contact'),
Run Code Online (Sandbox Code Playgroud)

我刚刚学习了基于类的视图,除了最后一点之外,这对我来说都是有意义的name='careers_contact'.我似乎也无法在网上找到这个意思.

有人可以阐明这是什么,这个名字在哪里生活,它在做什么?

python django django-urls

5
推荐指数
1
解决办法
2449
查看次数

配置不正确:settings.DATABASES配置不正确.请提供ENGINE值

我正在heroku上设置我的django项目.我一直在关注文档,但是当foreman start我收到一个我无法弄清楚的错误时.我已经设置了我的引擎文件,但它似乎不想工作.

完全追溯:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/management/base.py", line 285, in execute
    output = self.handle(*args, **options)
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/management/base.py", line 415, in handle
    return self.handle_noargs(**options)
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
    cursor = connection.cursor()
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/db/backends/__init__.py", line 160, in cursor
    cursor = self.make_debug_cursor(self._cursor())
  File "/Users/nir/nirla/venv/lib/python2.7/site-packages/django/db/backends/dummy/base.py", line 15, in …
Run Code Online (Sandbox Code Playgroud)

python django heroku django-postgresql

5
推荐指数
2
解决办法
2万
查看次数

NodeJS控制台SyntaxError:生成器的意外令牌*

我正在运行NodeJS控制台:

$ node --version
v0.12.0
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现像这样的Generator功能

function* colorGen() {
    var colors = ["red", "green", "blue", "white"]
    var i = 0;
    yield colors[i];
    i += 1;
    if (i > 3) {i = 0;}  
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行第一行时,我收到语法错误:

$ node
> function* colorGen() {
SyntaxError: Unexpected token *
    at Object.exports.createScript (vm.js:44:10)
    at REPLServer.defaultEval (repl.js:117:23)
    at bound (domain.js:254:14)
    at REPLServer.runBound [as eval] (domain.js:267:12)
    at REPLServer.<anonymous> (repl.js:279:12)
    at REPLServer.emit (events.js:107:17)
    at REPLServer.Interface._onLine (readline.js:214:10)
    at REPLServer.Interface._line (readline.js:553:8)
    at REPLServer.Interface._ttyWrite (readline.js:830:14)
    at ReadStream.onkeypress (readline.js:109:10)
> 
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

javascript generator node.js

5
推荐指数
1
解决办法
4818
查看次数

为什么这个lambda需要*arg,它有什么区别?

我遇到了一个非常聪明的小函数,它接受两个函数,在给定参数的情况下将一个函数应用于彼此之上x:

def compose(f,g):
    return lambda *x: f(g(*x))
Run Code Online (Sandbox Code Playgroud)

现在我的问题是*x,因为我没有看到它在这里做了什么.为什么它不简单x(没有星号)?

这是我的测试:

>>> def compose(f,g):
...   return lambda *x: f(g(*x))
... 
>>> this = lambda i: i+1
>>> that = lambda b: b+1
>>> compose(this,that)(2)
4

>>> def compose(f,g):
...   return lambda x: f(g(x))
... 
>>> compose(this,that)(2)
4

>>> def compose(f,g):
...   return lambda *x: f(g(*x))
... 
>>> compose(this,that)(2,2)
TypeError: <lambda>() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)

python lambda

5
推荐指数
1
解决办法
227
查看次数

多个版本的react(react-dom使用旧的react依赖项)

我收到了著名的两个版本的加载错误。我跑了一行npm ls | grep react,得到以下内容:

??? react@15.1.0
??? react-addons-css-transition-group@15.0.2
??? react-big-calendar@0.9.12
? ??? react@15.1.0
? ??? react-dom@15.1.0
? ??? react-overlays@0.6.3
? ??? react-prop-types@0.2.2
??? react-datetime@2.1.0
? ??? react-onclickoutside@4.9.0
??? react-dom@15.1.0
? ??? react@0.14.8
? ??? react-addons-update@0.14.8
Run Code Online (Sandbox Code Playgroud)

看来react@0.14.8我在项目的其余部分都在使用react-dom react@15.1.0

我要如何使react-dom不加载旧版本的react?我认为这是react-dom的最新版本。

注意:我使用的是npm 2.15.1版本和节点版本v4.4.4

javascript npm reactjs

5
推荐指数
1
解决办法
1727
查看次数

django模型:将多行线路地址存储为一个模型字段的好方法

我正在构建一些模型,我需要收集一个地址.事实是,我希望在一个模型字段中收集地址,但地址的字段可以跨越多行.

例如:

街:

市:

压缩:

州:

我看起来不像这些,但你明白了.数据需要存储在一个模型字段中.

django django-models

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

TypeError:this.props.data.map不是函数,但data是一个列表

我已经写在ReactJs站点代码在这里通过他们的评论框教程工作时.但由于某种原因,它给我一个关于地图的错误:

Uncaught TypeError: this.props.data.map is not a function
Run Code Online (Sandbox Code Playgroud)

特别是它抱怨第7行: var commentNodes = this.props.data.map(function (comment){ .. etc.. }

由于数据列表,因此该错误特别令人困惑.以下是显示以下内容的完整代码:

            var CommentList = React.createClass({
                render: function(){
                    console.log(data)
                    var commentNodes = this.props.data.map(function (comment){
                        return (<Comment author={comment.author}>
                                {comment.text}
                                </Comment>);
                    });
                    return (<div className="commentList">
                            {commentNodes}            
                            </div>);
                }   
            });

            var Comment = React.createClass({
                render: function(){
                    return (<div className="comment">
                            <h2 className="commentAuthor">
                            {this.props.author}
                            </h2>
                            {this.props.children}
                            </div> );
                }
            });            

            var CommentForm = React.createClass({
                render: function(){
                    return (<div className="commentForm">I am a comment form!</div>);    
                }
            }); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

Reactjs this.state给出Uncaught TypeError:无法读取null的属性'groupsData'

我正在我的一个ReactJs组件中对2个不同的api进行2个基本的ajax调用.虽然,在运行调用时(在我确定知道的网址上工作并返回数据),我收到:

Uncaught TypeError: Cannot read property 'groupsData' of null
Run Code Online (Sandbox Code Playgroud)

这是单个组件:

var BrowseWidgetBox = React.createClass({
                getGroupsApi: function(){
                    $.ajax({
                        url: this.props.groupsApi,
                        dataType: 'json',
                        type: 'GET',
                        success: function(groupsData){
                            this.setState({groupsData: groupsData});
                        }.bind(this),
                        error: function(xhr, status, err){
                            console.error(this.props.groupsApi ,status, err.toString());
                        }.bind(this)
                    });

                },
                getItemsApi: function() {
                 $.ajax({
                        url: this.props.itemsApi,
                        dataType: 'json',
                        type: 'GET',
                        success: function(itemsData){
                            this.setState({itemsData: itemsData});
                        }.bind(this),
                        error: function(xhr, status, err){
                            console.error(this.props.groupsApi ,status, err.toString());
                        }.bind(this)
                    });
                },
                componentDidMount: function() {
                    this.getGroupsApi();
                    this.getItemsApi();
                },
                render: function() {
                    return (<div className="BrowseWidgetBox">
                                <MainMenu groupsData={this.state.groupsData} itemsData={this.state.itemsData} />
                                <Display …
Run Code Online (Sandbox Code Playgroud)

javascript ajax reactjs

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

Eloquent Javascript循环使用RegExp匹配

以下示例对我来说有点混乱:

var text = "A string with 3 numbers in it ... 42 and 88.";
var number = /\b(\d+)\b/g;
var match;
while (match = number.exec(text)){
    console.log("Found", match[1], "at", match.index);
}
Run Code Online (Sandbox Code Playgroud)

具体来说,我不明白这是如何产生"循环"效应的.如果它继续调用,它如何在一个字符串中运行所有匹配match[1].我不知道有没有某种副作用?

编辑: 我仍然想知道如何match[1]工作的答案.如何match[1]产生任何答案?当我测试这种类型的自己的事情,我得到undefined,看

> var y = /\d+/g.exec('5')
undefined
> y
[ '5', index: 0, input: '5' ]
> y[1]
undefined
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?不是y [0],或者在上面的情况下匹配[0]?喜欢:

> y[0]
'5'
Run Code Online (Sandbox Code Playgroud)

javascript regex

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