我创建了一个非常简单的预提交脚本: -
#!/usr/bin/env sh
# Run tests
npm test
if [ $? -ne 0 ]; then
echo "Tests failed. Aborting.."
exit 1
fi
exit 0
Run Code Online (Sandbox Code Playgroud)
当我git commit在命令行运行时(测试失败),我得到了预期的退出1和消息Tests failed. Aborting...
但是,如果我使用GitHub for Mac,我得到:
.git/hooks/pre-commit: line 5: npm: command not found
Tests failed. Aborting..
(256)
Run Code Online (Sandbox Code Playgroud)
我猜测它npm不适用于GitHub for Mac正在使用的执行环境,但我一直在试图弄清楚如何解决这个问题.
在Douglas Crockford的书"Javascript:The Good Parts"中,他提供了一个curry方法的代码,该方法接受一个函数和参数,并使用已经添加的参数返回该函数(显然,这不是"咖喱"的意思,而是一个例子,"部分申请").这是我修改过的代码,以便在没有其他自定义代码的情况下工作:
Function.prototype.curry = function(){
var slice = Array.prototype.slice,
args = slice.apply(arguments),
that = this;
return function() {
// context set to null, which will cause `this` to refer to the window
return that.apply(null, args.concat(slice.apply(arguments)));
};
};
Run Code Online (Sandbox Code Playgroud)
所以如果你有一个add功能:
var add = function(num1, num2) {
return num1 + num2;
};
add(2, 4); // returns 6
Run Code Online (Sandbox Code Playgroud)
你可以创建一个已经有一个参数的新函数:
var add1 = add.curry(1);
add1(2); // returns 3
Run Code Online (Sandbox Code Playgroud)
这很好.但我想知道的是为什么他设置this到null?预期的行为是不是咖喱方法与原始方法相同,包括相同的this? …
对于所有圣物的爱,有人可以发布Rails 3.2文档的链接吗?像这个http://api.rubyonrails.org/,但是rails 3.2,而不是rails 4.不是3.2的rails指南,我没有问题,我需要官方文档.
我找到的每个链接都会将我发送到Rails 4文档,包括应该用于Rails 3的旧链接.Rails 4文档不提供任何其他Rails文档的链接.我不知道如何制作像googleable这样的东西,但我找不到它.
当你在这里时,如果你想将官方文档的链接列表发布到其他版本的Rails,它可能是一个很好的资源.
ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-5