小编mjs*_*mjs的帖子

以冒号作为分隔符的全局/路径名扩展

如何转换包含glob字符的字符串,如

/var/lib/gems/*/bin
Run Code Online (Sandbox Code Playgroud)

到一个冒号分隔的文件名字符串(即PATH兼容)匹配模式?

echo /var/lib/gems/*/bin会返回

/var/lib/gems/1.8/bin /var/lib/gems/1.9.1/bin
Run Code Online (Sandbox Code Playgroud)

我想要

/var/lib/gems/1.8/bin:/var/lib/gems/1.9.1/bin 
Run Code Online (Sandbox Code Playgroud)

代替.

显而易见的方法是简单地用':'via替换空格字符tr,但是如果文件名本身包含空格字符则不起作用.

bash shell glob path expansion

19
推荐指数
3
解决办法
4470
查看次数

递归函数的高阶函数?

有没有办法通过高阶函数"包装"递归函数,以便递归调用也被包装?(例如,在每次调用时记录函数的参数.)

例如,假设我们有一个函数,sum()它通过将头部添加到尾部的总和来返回数字列表的总和:

function sum(a) {
    if (a.length === 0) {
        return 0;
    } else {
        return a[0] + sum(a.slice(1));
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法编写一个高阶函数,logging()它将sum()函数作为输入,并返回一个函数,sum()在每次递归调用时输出参数?

以下不起作用:

function logging(fn) {
    return function(a) {
        console.log(a);
        return fn(a);
    }
}

sum2 = logging(sum);
sum2([1, 2, 3]);
Run Code Online (Sandbox Code Playgroud)

实际产量:

[1, 2, 3]
-> 6
Run Code Online (Sandbox Code Playgroud)

预期产量:

[1, 2, 3]
[2, 3]
[3]
[]
-> 6
Run Code Online (Sandbox Code Playgroud)

这是否sum()可以重写,以便它可以与Y Combinator风格的"递归"一起使用?

function sum_core(g) {
    return function (a) {
        if (a.length === 0) { …
Run Code Online (Sandbox Code Playgroud)

javascript recursion y-combinator higher-order-functions

19
推荐指数
2
解决办法
1204
查看次数

如何表明PHPUnit测试预计会失败?

是否可以使用PHPUnit将测试标记为"预期失败"?这在执行TDD时很有用,并且您希望区分真正失败的测试和由于尚未编写相关代码而导致失败的测试.

php tdd phpunit unit-testing

18
推荐指数
3
解决办法
9205
查看次数

在通道中列出已安装的包

使用PHP的PEAR,如何检查foo通道中的包是否bar已安装?(假设该频道bar可用,并且已被"发现".)这样的东西只pear list显示在频道中安装的包bar将是理想的.

php pear channel package

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

Echo命令,然后运行它?(喜欢制作)

有没有办法让bash进入一种冗长的模式,这样,当它运行一个shell脚本时,它会在运行它之前回显它将要运行的命令?也就是说,以便它可以看到已运行的命令(以及它们的输出),类似的输出make

也就是说,如果运行shell脚本就好

echo "Hello, World"
Run Code Online (Sandbox Code Playgroud)

我想要以下输出

echo "Hello, World"
Hello, World
Run Code Online (Sandbox Code Playgroud)

或者,是否可以编写一个调用的bash函数echo_and_run来输出命令然后运行它?

$ echo_and_run echo "Hello, World"
echo "Hello, World"
Hello, World
Run Code Online (Sandbox Code Playgroud)

bash shell makefile echo

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

为什么Google的Closure库不在他们的CDN上托管?

Google 在其CDN上托管了许多JavaScript库,例如jQuery和dojo .出于某种原因,他们自己的Google Closure库似乎不包括在内.是否有Closure库的托管版本?

javascript cdn google-closure google-cdn

16
推荐指数
2
解决办法
5352
查看次数

git grep - 但仅限于索引中的新文件或修改过的文件

是否有可能git grep只搜索索引/缓存中的新文件或修改过的文件?

(这种情况的用例是在预提交钩子中使用,它寻找"调试"代码,例如console.log在预期提交中.但我不会被console.log"现有"代码所困扰.最好这也不能匹配它的实例console.log删除了,但我可以忍受那些匹配!)

git grep

14
推荐指数
2
解决办法
2520
查看次数

怎么称OOP相当于"参考透明度"?

我的理解是," 引用透明度 " 这个术语实际上只能应用于功能代码.但是,对面向对象代码中的对象的方法调用可以具有类似的属性,即方法的返回值和方法调用后的对象的状态仅取决于调用之前的对象的状态,以及方法的论点.

即功能参照透明度:

i = foo(n, m);
// return value depends only on n, m
Run Code Online (Sandbox Code Playgroud)

OO"参考透明度":

i = obj.foo(n, m);
// return value, and subsequent state of obj, depends 
// only on initial state of obj, n, m
Run Code Online (Sandbox Code Playgroud)

这个房产有名字吗?

如果obj在调用期间状态没有改变foo(),则"面向对象"样式等同于函数形式,如果支持函数重载,则可以将其重写为:

i = foo(obj, n, m);
// return value depends only on obj, n, m
Run Code Online (Sandbox Code Playgroud)

但是,obj在方法调用中更改状态是很常见的,所以我不确定这是否有助于分析...

oop functional-programming referential-transparency

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

如何更改请求的标头?

是否可以更改事件Request接收的对象的标题fetch

两次尝试:

  1. 修改现有标头:

    self.addEventListener('fetch', function (event) {
      event.request.headers.set("foo", "bar");
      event.respondWith(fetch(event.request));
    });
    
    Run Code Online (Sandbox Code Playgroud)

    失败了Failed to execute 'set' on 'Headers': Headers are immutable.

  2. 创建新Request对象:

    self.addEventListener('fetch', function (event) {
      var req = new Request(event.request, {
        headers: { "foo": "bar" }
      });
      event.respondWith(fetch(req));
    });
    
    Run Code Online (Sandbox Code Playgroud)

    失败了 Failed to construct 'Request': Cannot construct a Request with a Request whose mode is 'navigate' and a non-empty RequestInit.

(另请参阅如何更改响应的标头?)

javascript service-worker

12
推荐指数
3
解决办法
6812
查看次数

使用npm和yarn的package.json脚本?

我使用npm作为构建工具,所以在我的package.json,我的一些脚本依赖于其他脚本:

{
  "test": "npm run lint && mocha"
}
Run Code Online (Sandbox Code Playgroud)

这将npm包管理器硬编码为package.json.如何使表达依赖关系的这种方法适用于npmyarn

node.js npm yarnpkg

11
推荐指数
2
解决办法
2539
查看次数