原谅我,如果这可能是一个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)
我错过了什么?你能详细说明吗?
我正在探索我的朋友项目,当我浏览urls.py文件时,我注意到了这一点:
url(r'^apply/$', contact.as_view(), name='careers_contact'),
Run Code Online (Sandbox Code Playgroud)
我刚刚学习了基于类的视图,除了最后一点之外,这对我来说都是有意义的name='careers_contact'.我似乎也无法在网上找到这个意思.
有人可以阐明这是什么,这个名字在哪里生活,它在做什么?
我正在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) 我正在运行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)
为什么会这样?
我遇到了一个非常聪明的小函数,它接受两个函数,在给定参数的情况下将一个函数应用于彼此之上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) 我收到了著名的两个版本的加载错误。我跑了一行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
我正在构建一些模型,我需要收集一个地址.事实是,我希望在一个模型字段中收集地址,但地址的字段可以跨越多行.
例如:
街:
市:
压缩:
州:
我看起来不像这些,但你明白了.数据需要存储在一个模型字段中.
我已经写在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) 我正在我的一个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) 以下示例对我来说有点混乱:
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)