小编hug*_*omg的帖子

为什么我的对象显示为"[object Object]"?

我试图按年龄对一系列记录进行冒泡,但我得到的只是:

[object Object],[object Object],[object Object]

如何让它显示记录的值?

students = [
    {name: "timothy", age: "9"},
    {name: "claire",  age: "12"},
    {name: "michael", age: "20"}
];

for (var i = 0; i < students.length; i++) {
    for (var j = i + 1; j < students.length; j++) {
        if (Number(students[i].age) > Number(students[j].age)) {
            tempValue = students[j].age;
            students[j].age = students[i].age;
            students[i].age = tempValue;
        }
    }
}

alert(students);
Run Code Online (Sandbox Code Playgroud)

javascript

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

替代(?!y)但在单词之前

如果我想排除"yapple",为什么我不能使用(?!y)苹果?

什么是单词之前(?!y)的替代方法?

http://jsfiddle.net/ksevelyar/SbCCx/4/

javascript regex

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

对于简单的键值存储,有关dicts vs对象的Python最佳实践是什么?

经过一段时间的Javascript编程后,我对对象和关联数组(字典)之间的二元性有了一点喜欢:

//Javascript
var stuff = { a: 17, b: 42 };

stuff.a;    //direct access    (good sugar for basic use)
stuff['a']; //key based access (good for flexibility and for foreach loops)
Run Code Online (Sandbox Code Playgroud)

在python中基本上有两种方法可以做这种事情(据我所知)

字典:

stuff = { 'a': 17, 'b':42 };

# no direct access :(
stuff['a'] #key based access
Run Code Online (Sandbox Code Playgroud)

或对象:

#use a dummy class since instantiating object does not let me set things
class O(object):
    pass

stuff = O()
stuff.a = 17
stuff.a = 42

stuff.a #direct access :)
getattr(stuff, 'a') …
Run Code Online (Sandbox Code Playgroud)

javascript python dictionary associative-array object

4
推荐指数
2
解决办法
1054
查看次数

如何调试和检查因鼠标点击或焦点变化而发生变化的事物?

我目前正在使用一些自动完成表单字段,并且发现很难检查生成的下拉项。一旦我单击“检查元素”按钮或尝试右键单击下拉菜单,原始自动完成输入就会运行一个 onclick 事件(或在焦点更改时触发的事件)并隐藏、删除或以其他方式修改我所在的元素试图检查。

有没有办法使用调试器,以便我给它的鼠标点击和其他命令不会被我试图调试的脚本拦截?

我目前在 Firebug 和 Chrome 的检查器上都有这种问题。我现在能想到的唯一解决方案是在适当的事件处理程序中设置一些智能断点,但是如果我不知道要查找什么事件处理程序或它们隐藏在原始代码中的位置,这很难做到......

javascript firebug google-chrome-devtools

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

命名函数和匿名函数(Lua)之间的差异

这些myFuncs 之间有什么区别?

代码1

function wrapper()
    local someVariable = 0;
    function myFunc(n)
        if n > 0 then return myFunc(n-1) end
    end
    return myFunc;
end
Run Code Online (Sandbox Code Playgroud)

代码2

function wrapper()
    local someVariable = 0;
    local myFunc = function(n)
        if n > 0 then return myFunc(n-1) end
    end
    return myFunc;
end
Run Code Online (Sandbox Code Playgroud)

代码3

function wrapper()
    local someVariable = 0;
    local myFunc;
    myFunc = function(n)
        if n > 0 then return myFunc(n-1) end
    end;
    return myFunc;
end
Run Code Online (Sandbox Code Playgroud)

因为当我myFuncmyFunc自己内部引用函数名称时.他们的行为不一样.(例如,upvalue someVariable......有问题:-S)

lua functional-programming

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

是否可以使用迭代递增在类型化的教会数字上实现添加?

我无法找到一种方法来将加法定义为重复递增,尽管这在无类型语言中是可能的.这是我的代码:

{-# LANGUAGE RankNTypes #-}
type Church = forall a . (a -> a) -> (a -> a)

zero :: Church
zero = \f -> id

inc :: Church -> Church
inc n = \f -> f . n f

-- This version of addition works
add1 :: Church -> Church -> Church
add1 n m = \f -> n f . m f

-- This version gives me a compilation error
add2 :: Church -> Church -> Church
add2 …
Run Code Online (Sandbox Code Playgroud)

haskell types lambda-calculus church-encoding higher-rank-types

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

如何编写函数以在OCaml中创建列表的循环版本?

可以使用let rec创建无限的循环列表,而无需求助于可变引用:

let rec xs = 1 :: 0 :: xs ;;
Run Code Online (Sandbox Code Playgroud)

但是我可以使用相同的技术来编写一个接收有限列表并返回其无限循环版本的函数吗?我尝试写作

let rec cycle xs = 
    let rec result = go xs and
            go = function
              | [] -> result
              | (y::ys) -> y :: go ys in
    result
;;
Run Code Online (Sandbox Code Playgroud)

但是出现了以下错误

错误:不允许这种表达式作为`let rec'的右侧

ocaml letrec

4
推荐指数
2
解决办法
649
查看次数

是否有一个相当于`git stash save -p`的hg可以将块拆分成更小的块?

我只想对我的文件进行一些修改,而我首选的方法是搁置/隐藏我不想提交的更改.这允许我在实际提交之前测试我将提交的更改.

我遇到的问题是,当我在tortoisehg中使用"搁置"工具时,我找不到任何方法将一个块拆分成两个较小的块.例如,我有一个看起来像这样的块:

@@ -1,1 +1,2 @@
-hallo world
+hello world
+something else
Run Code Online (Sandbox Code Playgroud)

我想搁置"别的东西",这样我就可以提交"hallo-> hello"修复.然而,由于tortoisehg看到这个单块,我可以搁置两个或没有任何变化.

我也试过通过命令行使用shelve扩展,但是根据我从文档中理解它不提供仅仅搁置部分文件的功能.

mercurial tortoisehg

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

Lua Ellipsis表达限于248

我正在学习Lua在移动应用程序开发中的大学课程,最近我们讨论了省略号运算符(...),允许动态数量的参数.出于好奇,我决定尝试找出它能够处理多少个参数的限制,因为事实证明它是248.

例如:

function pr(...)
    print(...)
end

pr(1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, …
Run Code Online (Sandbox Code Playgroud)

lua ellipsis coronasdk

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

为什么我不能在Coq中使用`app`和`fol​​d_right`?

我在以下程序的最后一行中遇到类型错误:

Require Import List.
Import ListNotations.

(* This computes to 10 *)
Compute (fold_right plus 0 [1;2;3;4]).

(* I want this to compute to [5;6;7;8] but it gives a type error instead *)
Compute (fold_right app [] [[5;6]; [7;8]]).
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Error:
The term "app" has type "forall A : Type, list A -> list A -> list A" while it is expected to have type
 "Type -> ?A -> ?A" (cannot instantiate "?A" because "A" is not in its scope). …
Run Code Online (Sandbox Code Playgroud)

coq

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