小编Cod*_*mer的帖子

如何测试JQuery失败回调?

这是jquery函数:

$.get("/url", function(){

   //success
}).fail(function(){
  //fail     <---- how to make code go in there.
});
Run Code Online (Sandbox Code Playgroud)

问题是如何让程序进入.fail块,我使用.Net MVC,但是,在Controller中设置断点不会触发超时异常然后导致失败回调.

不知道人们如何测试这个.

我应该开始看一些工具吗?

javascript jquery

8
推荐指数
1
解决办法
201
查看次数

在Python中调用系统命令并获取其输出结果,而不是退出状态

在Python中,我想计算一个文件中的行数xh-2.txt

import subprocess
subprocess.call("wc -l xh-2.txt",shell=True)
Run Code Online (Sandbox Code Playgroud)

但这给了我退出状态,而不是命令的结果。

我知道命令print os.popen("wc -l xh-2.txt|cut -d' ' -f1").read()会完成这项工作,但是popen已贬值,为什么要使用read()?

在Python中调用系统命令并获取其输出结果而不退出状态的最佳方法是什么?

python

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

理解代码 - Go 并发模式:菊花链

我正在研究Go并发模式。

\n\n

我不确定的一种模式是 \xef\xbc\x9a 菊花链 https://talks.golang.org/2012/concurrency.slide#39

\n\n

我很难理解代码的控制流程。

\n\n

有人可以向我解释一下吗?

\n\n
package main\n\nimport (\n    "fmt"\n)\n\nfunc f(left, right chan int) {\n    left <- 1 + <-right\n}\n\nfunc main() {\n    const n = 10000\n\n    leftmost := make(chan int)\n    right := leftmost               //point B: what does these do ?\n    left := leftmost\n\n    for i := 0; i < n; i++ {\n        right = make(chan int)\n        go f(left, right)\n        left = right                //point A\n    }\n    go func(c chan int) { c <- 1 }(right)  \n …
Run Code Online (Sandbox Code Playgroud)

concurrency go

5
推荐指数
3
解决办法
2178
查看次数

奇怪的HashSet包含()行为

java中的HashSet让我很困惑,当使用contains()时它会查找hashcode()和equals()结果吗?但在这种情况下,它表现不正常.如果你把这种代码放在大型项目中,有时会出现问题.问题是为什么最后一个语句打印FALSE?什么包含()在引擎盖下做什么?

class R
{
    int count;
    public R(int count)
    {
        this.count = count;
    }
    public String toString()
    {
        return "R(count attribution:" + count + ")";
    }
    public boolean equals(Object obj)
    {
        if (obj instanceof R)
        {
            R r = (R)obj;
            if (r.count == this.count)
            {
                return true;
            }
        }
        return false;
    }
    public int hashCode()
    {
        return this.count;
    }
}
public class TestHashSet2
{
    public static void main(String[] args) 
    {
        HashSet hs = new HashSet();
        hs.add(new R(5));
        hs.add(new R(-3));
        hs.add(new …
Run Code Online (Sandbox Code Playgroud)

java contains

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

为什么在这种情况下使用Interface over Abstract类?

我在这里阅读博客文章:http://codeofdoom.com/wordpress/2009/02/12/learn-this-when-to-use-an-abstract-class-and-an-interface/

public interface Actor{
   Performance say(Line l);
}
public interface Director{
   Movie direct(boolean goodmovie);
}
public interface ActorDirector extends Actor, Director{
...
}
Run Code Online (Sandbox Code Playgroud)

它说:实际上,有演员也是导演.如果我们使用接口而不是抽象类.我们可以使用抽象类来实现相同的功能.不幸的是,替代方案需要最多2 ^ n(其中n是属性的数量)可能的组合以便支持所有可能性.

问题:为什么抽象类在这里更好?为什么2 ^ n?

public abstract class ActorDirector implements Actor,Director{
}
Run Code Online (Sandbox Code Playgroud)

java inheritance interface

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

拥抱不要让脚本文件使用关键字"让"

我将此文件作为模块加载到Hugs,但是出现此错误:

错误文件:.\ Hugs.hs:38 - 输入中的语法错误(意外关键字"let")

data MetricUnit = Meter
            | Liter
            | KiloGram
              deriving (Show, Eq)

data ImperialUnit = Yard
              | Gallon
              | Pound
                deriving (Show, Eq)

data Measurement = MetricMeasurement Double MetricUnit
             | ImperialMeasurement Double ImperialUnit
               deriving (Show)

symbol :: MetricUnit -> String
symbol x
  | x == Meter = "m"
  | x == Liter = "L"
  | x == KiloGram = "kg"

convert (MetricMeasurement x u)
  | u==Meter    = ImperialMeasurement (1.0936*x) Yard
  | u==Liter    = ImperialMeasurement (0.2642*x) Gallon …
Run Code Online (Sandbox Code Playgroud)

haskell hugs

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

构成尾巴和头部

问:榆木0.15不会让我(尾巴>>头)xs.如何以优雅的方式解决这个问题?

module Fibonacci where

import List exposing ((::), head, map2, reverse, tail)

fibonacci : Int -> List Int
fibonacci n =
    let fibonacci' n acc =
        if n <= 2
            then acc
            else fibonacci' (n-1) ((head acc + (tail >> head) acc) :: acc)
    in
        fibonacci' n [1,1] |> reverse
Run Code Online (Sandbox Code Playgroud)

以来:

head : List a -> Maybe a
tail : List a -> Maybe (List a)
Run Code Online (Sandbox Code Playgroud)

我不知道如何转换 Maybe (List a) to be List a

那么,在没有定义新函数的情况下,有没有简单的方法来组合这两个函数?

elm

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

将python代码转换为clojure,递归和for循环

我从长度为n的列表中计算出n个组合中的k.我发现python代码非常简洁,所以我做了直接翻译.

def comb(sofar, rest, n):
     if n == 0:
         print sofar
     else:
         for i in range(len(rest)):
             comb(sofar + rest[i], rest[i+1:], n-1)

comb("", "abcde", 3)
Run Code Online (Sandbox Code Playgroud)

产量:abc,abd,abe等......

将被翻译为clojure代码:

(defn comb [sofar v n]
  (if (= n 0)
    (print sofar)
    (for [i (range 0 (count v))] 
      (comb  (str sofar (nth v i))   ;don't it need to be recur ?
             (subvec v (inc i))
             (dec i)))))
Run Code Online (Sandbox Code Playgroud)

嵌套循环/递归非常混乱.

问题是如何更改代码以执行与python代码相同的功能?

我的clojure代码似乎没有做同样的工作.

recursion clojure

2
推荐指数
1
解决办法
283
查看次数

这个函数中的xs如何工作?

我正在阅读Hutton的书,Haskell编程.这是一个功能:

pairs :: [a] -> [(a,a)]

pairs xs = zip xs (tail xs)
Run Code Online (Sandbox Code Playgroud)

例如

>对[1,2,3,4]

> [(1,2),(2,3),(3,4)] - 结果

问题是如何阅读这个功能?从左到右?

我很困惑"tail"如何留下1个元素,然后使用"zip"将它与下一个元素组合起来因为"tail"假设从列表中获取所有剩余的元素?

haskell

1
推荐指数
2
解决办法
179
查看次数

Clojure Koan 中的语法问题 - 匿名函数有额外的 ()

06_function.clj包含这个问题,我不明白为什么在位置1和2处有一对额外的(),因为位置3已经包含了括号。

"One function can beget another"
  (= 9 (
        (   <---- 1
         (fn [] (fn [a b] (+ a b)))  <----3
         )  <-----2
        4 5))
Run Code Online (Sandbox Code Playgroud)

clojure

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

这是MSDN文档中的错误吗?

这是MSDN链接来自http://msdn.microsoft.com/en-us/library/s3f49ktz(v=VS.80).aspx

它表示:unsigned int:4byte Value of Value 0到4,294,967,295

因此我的测试代码:

void main(void) 
{       
    unsigned int sum;   //4byte, 32bit
    sum = 2147483648;  //2^31 represent by 1 followed by 31 0s
    printf("sum is %d\n",sum); 
    sum = sum -1 ;     //2^31-1 represent by 0 followed by 31 1s
    printf("sum is %d\n",sum);
    getchar();
} 
Run Code Online (Sandbox Code Playgroud)

我肯定4,294,967,295 = 2 ^ 32-1,printf会打印"0",转储最重要的一点我觉得MSDN应该写的值范围:0到2147483647 是吗?

c c++ microprocessors

0
推荐指数
1
解决办法
138
查看次数